class Cla:__count=0def __init__(self,v):self.__value=vCla.__count+=1def show(self):print('普通实例方法访问私有属性:',self.__value,Cla.__count)@classmethod        def classShow(cls):print('修饰器类方法访问私有属性:',cls.__count)@propertydef value(self):print('修饰器保护方法:',self.__value)@staticmethoddef staticShow():print('修饰器静态方法访问私有属性:',Cla.__count)
cla=Cla(5)
cla.show()
cla.classShow()
cla.staticShow()
print()
cla2=Cla(10)
cla2.show()
cla2.classShow()
cla2.staticShow()
print()
Cla.show(cla)
Cla.classShow()
Cla.staticShow()
print()
cla.value
#cla.value=99
#del cla.value


第三段是通过类名调用类方法。
可以发现,实例cla和实例cla2调用类构造方法的私有属性__value相互独立,类私有属性__count实例共用。
修饰器类方法参数cls与类名相同。

cla.value=99

del cla.value


增加两行代码测试后,发现修饰器保护方法可读不可写,也不可删除。
如下修改可自定义property的读写方法:

class Cla:def __init__(self,v):self.__value=vdef __getValue(self):print(self.__value)def __setValue(self,v):self.__value=vdef __delValue(self):del self.__valuevalue=property(__getValue,__setValue,__delValue)
cla=Cla(5)
cla.value
cla.value=10
cla.value
#del cla.value
#cla.value


增加测试删除代码

del cla.value
cla.value

python的实例类方法、修饰器类方法、修饰器保护方法、修饰器静态方法中私有属性的区别和自定义property的读写方法相关推荐

  1. python私有属性怎么定义_Python中私有属性的定义方式

    Python没有类似于Java的private关键字, 但也可以为类定义私有属性. 只需将属性命名变为以__开头, 例如 __field. 示例代码: class Vector2D(object): ...

  2. Python中的类属性和类方法(静态方法、私有属性和私有方法)

    一.类属性和类方法 类的方法 在类的内部,使用 def 关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数 self,且为第一个参数 代码块: class Student(object ...

  3. Python中类方法、类实例方法、静态方法,私有属性和私有方法有何区别?

    类方法 是类对象的方法,在定义时需要在上方使用 @classmethod 进行装饰,形参为cls,表示类对象,类对象和实例对象都可调用. 使用格式: 对类的属性进行操作,就要用类的方法. @class ...

  4. python类中的属性分为类属性和实例属性两种_python从入门到大神---1、初始化实例、类属性、方法...

    python从入门到大神---1.初始化实例.类属性.方法 一.总结 一句话总结: 方法不加括号是代码段:感觉python方法和js,php很类似,不加括号是代码段,加括号变成方法,比如f,f() 1 ...

  5. Python 练习实例100例—9

    ☞☞☞点击查看更多优秀Python博客☜☜☜ Python 练习实例8 **题目:**判断101-200之间有多少个素数,并输出所有素数. **程序分析:**判断素数的方法:用一个数分别去除2到sqr ...

  6. Python中菱形继承的MRO顺序及property属性

    Python中菱形继承的MRO顺序及property属性 文章目录 Python中菱形继承的MRO顺序及property属性 一.Python中菱形继承的MRO顺序 1. 单独调用父类的方法 2. 多 ...

  7. python只读属性怎么设置_python 设置只读属性(property或者__setter__方法)

    python设置只读属性的方式有两种 1.通过property装饰器和私有属性配合完成只读属性 2.借助__setter__方法,设置逻辑阻止赋值 方式一: class Task(object): d ...

  8. python getattr和getattribute_python中__getattr__和__getattribute__区别

    重载__getattr__方法对类及其实例未定义的属性有效.如果访问的属性存在,就不会调用__getattr__方法.这个属性的存在,包括类属性和实例属性 classClassA: x= 'a' de ...

  9. Python私有属性与私有方法

    1. 场景定义 私有属性 是指在 Python 的面向对象开发过程中,对象的某些属性只想在对象的内部被使用,但不想在外部被访问到这些属性. 即:私有属性是对象不愿意公开的属性. 私有方法 是指在 Py ...

最新文章

  1. python3精要(64)-Python命名风格规范-google版
  2. HDOJ 1030 Delta-wave
  3. stm32+lwip(四):网页服务器测试
  4. 扩展欧几里得算法 POJ 1061
  5. 案例 银行取款 java 1615136927
  6. npm 开发中 常用依赖包
  7. Docker的使用、底层原理及常用软件docker下载
  8. Excel如何导出自定义架构xml
  9. 如何安装VS2011Beta版
  10. 迪普融合之路 构建价值网络
  11. Excel 行或列合并工具 Concatenate 实现姓和名组合
  12. 2018 网易校招 骰子游戏
  13. Partitioning big graph with respect to arbitrary proportions in a streaming manner 菜鸟解读
  14. 【接箱子2.0】新手划过,dalao勿喷
  15. 高等数学(总结9-多重积分)
  16. 一文解析交通大数据是如何解决拥堵问题的
  17. 鸡和兔子若干只,头有35个,脚有94个,求兔子和鸭个多少只
  18. sed命令详解及运用
  19. 基于javaweb+jsp的个人日记管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Layui Ajax)
  20. 写博客的主要动力来源

热门文章

  1. 遇到这 4 个迹象,赶紧下来、让人工智能上!
  2. 阿里工程师手把手教你设计 B 端垂类营销中心!
  3. 新手入坑自动驾驶,我是这么学习的......
  4. AI 技术争鸣!2019 AI 开发者大会盛大开幕
  5. 这才是设计 React 的万金油!
  6. 马云谈 5G 危机;腾讯推出车载版微信;Ant Design 3.22.1 发布 | 极客头条
  7. 13 岁自学编程,提出演进式架构的她,成 ThoughtWorks CTO!
  8. 杨超越吧编程大赛;拼多多刷单?苹果新员工一半没本科学历 | 极客头条
  9. 京东末位淘汰 10% 高管:稳定不是常态,淘汰才是
  10. Android 内核的开发“顽疾”如何解决?