我正在阅读这篇文章,有些事情没有得到清除
https://stackoverflow.com/a/14787522/1890488
他使用此代码
class O4(O3):
@property # this decorator makes this instancevar into a data descriptor
def var(self):
return "Data descriptors (such as properties) are high priority"
@var.setter # I'll let O3's constructor set a value in __dict__
def var(self, value):
self.__dict__["var"] = value # but I know it will be ignored
他说@property 将任何实例变量转换为数据描述符。
- 现在这是否意味着它会自动定义
__get__
,__set__
并且__del__
对于那个变量
或 @property 仅相当于__get__
我不明白
是否还有更多将实例变量转换为数据描述符的装饰器
@var.setter 的功能是什么。那也是数据描述符部分