class Foo: def __init__(self,x): self.x=x def __getattr__(self, item): print(‘执行的是我‘) # return self.__dict__[item] def __getattribute__(self, item): #调取属性无论是否存在均会触发它 print(‘不管是否存在,我都会执行‘) raise AttributeError(‘哈哈‘) #其实就是python内部的处理方式 f1=Foo(10) f1.x f1.xxxxxx #当__getattribute__与__getattr__同时存在,只会执行__getattrbute__,除非__getattribute__在执行过程中抛出异常AttributeError
Python进阶-----类的内置方法__getattribute__
原文:https://www.cnblogs.com/Meanwey/p/9788821.html