![](/img/trans.png)
[英]Why Python Descriptor Work for Class Level Attribute and not for an Instance Level Attrubute
[英]When and why might I assign an instance of a descriptor class to a class attribute in Python rather than use a property?
我知道属性是一个描述符,但是有没有具体的例子说明使用描述符 class 可能更有利,pythonic,或者比在方法 function 上使用@property
提供一些好处?
更好的封装性和可重用性:描述符 class 可以在实例化时设置自定义属性。 有时以这种方式限制数据很有用,而不必担心它在描述符的所有者上被设置或覆盖。
@property 不允许您同时定义专用的 setter 和 getter 方法。 如果 getter 方法“足够好”,则使用 @property,否则您需要 property()。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.