第四篇:Python 进阶-描述符(Descriptor)
1. 描述符协议
__get__
、__set__
、__delete__
方法
描述符是一个具有“绑定行为”的对象属性,其访问控制由描述符协议方法来定义。Python 中有三个关键的描述符协议方法:
__get__(self, instance, owner)
:当访问描述符所绑定的属性时会调用这个方法。self
是描述符对象本身。instance
是拥有该描述符的实例对象,如果是通过类访问属性,instance
为None
。owner
是拥有该描述符的类。
__set__(self, instance, value)
:当给描述符所绑定的属性赋值时会调用这个方法。self
是描述符对象本身。instance
是拥有该描述符的实例对象。</