Python __getattr__()函数的应用
getattr(self, item)函数
class Foo(object):def __init__(self,name,age):self.name=nameself.age=agedef show(self):return '123'def __getattr__(self, item):#执行对象中没有的成员时,会执行该函数print('item',item)return '999'obj=Foo('sally',40)print('show:',obj.show())
#xxx不是obj对象中的成员,所以会触发__getattr__(self,item)函数,并将xxx做为参数。
print('getattr return:',obj.xxx)
输出:
show: 123
item xxx
getattr return: 999