描述符descriptor
Python函数其实就是描述符。
实现了__get__方法、__set__方法或__delete__方法的类是描述符。
描述符的用法是,创建一个实例,作为另一个类的类属性。
描述符的典型用途是管理数据属性。
访问都是访问公有属性,设值是在私有属性上;
在属性查找期间,描述器是由点运算符触发调用。描述器descriptor仅在用作类变量(类属性)时起作用,放入实例时,它们将失效。
在描述符类种,定义__set__方法时,必须把属性的值直接存入__dict__,调用setattr(instance, self.storage_name)将再次触发__set__方法,导致无限递归。
方法和函数只实现了__get__方法,属于非覆盖型描述符 。
特性也是覆盖型描述符,




************************
描述符是个类。
方法和函数是只实现了__get__方法的非覆盖型描述符。
将描述符类存放在单独的模块中,可以方便在不同的类中重用属性验证逻辑。
描述符示例:属性验证。解决这种问题的面向对象方式是描述符类。
注意本章的标题是 “ 属性描述符 ”
描述符类的实例是托管类的类属性。
无需子类化是什么意思

浙公网安备 33010602011771号