详解Python中 __get__和__getattr__和__getattribute__的区别
引子假设我们有个类A,其中a是A的实例a.x时发生了什么?属性的lookup顺序如下:如果重载了__getattribute__,则调用.a.__dict__,实例中是不允许有descriptor的,所以不会遇到descriptorA.__dict__,也即a.__class__.__dict__.如果遇到了descriptor,优先调用descriptor.沿着继承链搜索父类.搜索a.__cla