python @property

1.描述符

我们首先要搞懂描述符(Descriptor)是什么.

1.1 描述符定义

只要类中有__get__(), __set__(), 和 __delete__()其中之一的方法.那么它就是一个描述符.

1.2 描述符有什么用?

属性的访问方式不再像普通对象那样访问,普通对象访问是通过__dict__来实现的(取值,赋值,删除),而是通过__get__、__set__、__delete__.

为什么__dict__不好呢?

普通的Python对象操作(get,set,delete)属性时都是在这个对象的__dict__基础之上进行的。而__dict__有查找顺序,基本上就是按照实例,类,父类的顺序.这样其实挺麻烦,好在我们有了描述符,可以不通过__dict__来进行查找.

1.3 描述符怎么实现?

你可能感兴趣的:(python @property)