Python的属性查找机制的学习笔记

Python中属性查找机制的描述如下:

  1. 描述符方法:如果一个类的属性是由描述符定义的(即实现了__get__()__set__()__delete__()方法),Python会首先调用相应的描述符方法。例如,如果一个属性有__get__()方法,当读取该属性时,Python会调用这个__get__()方法。
  2. 实例字典:如果属性没有通过描述符定义,Python接下来会查看对象的实例字典(__dict__)。如果属性在实例字典中找到,其值就会被返回。
  3. 类属性:如果在实例字典中没有找到该属性,Python还会在该对象的类中查找。如果类或其任何基类中定义了该属性,该值就会被返回。
  4. __getattr__()方法:最后,如果前面的步骤都没有找到属性,且类定义了__getattr__()方法,这个方法会被调用。

你可能感兴趣的:(python,学习,笔记)