python面向对象–描述符和属性
python中的私有属性
python中没有访问限制的描速符.通过__
符号来实现
Ex:
|
|
|
|
查看属性1234In [4]: dir(m)Out[4]:['_MyClass__secret_value', '__class__',
其实也并不是真正意义上的私有属性.
描述符
描述符用来自定义在引用一个对象上的特性时所应该完成的事情.
基于如下三个特殊的方法
__set__
在任何属性被设置时调用,setter;__get__
在任何属性被读取的时候被调用,getter;__delete__
这些方法都在__dict__
之前被调用.
其实就是通过一个类,对另外一个类的某个属性进行控制
|
|
自省描述符
|
|
output:
|
|
元描述符
属性
属性提供了一个内建的描述符类型,属性采用fget
和3个可选的参数–fset
, fdel
和doc
槽
这个概念很少遇到