我正在为__getattr__苦苦挣扎。我有一个复杂的递归代码库,其中让异常传播很重要。classA(object):@propertydefa(self):raiseAttributeError('lala')def__getattr__(self,name):print('attr:',name)return1print(A().a)结果:('attr:','a')1为什么会有这种行为?为什么不抛出异常?此行为未记录(__getattr__documentation)。getattr()可以只使用A.__dict__。有什么想法吗? 最佳答案