class Person(object):
def __getattribute__(self,obj):
if obj.startswith("a"):
return "hello"
else:
return self.test
def test(self):
print("---test---")
p1 = Person()
#此处没有实例属性a,也会打印hello
print(p1.a)
#此处会死循环调用__getattribute__属性导致程序报错
print(p1.b)