分析一下:首先 c.x 会先调用 __getattribute__() 魔法方法,打印 2;然后调用 super().__getattribute__(),找不到属性名 x,因此会紧接着调用 __getattr__() ,于是打印 1;你希望最后以 super().__getattr__() 终了的时候,Python 竟然告诉你 AttributeError,super 对象木有 __getattr__ ! 证明: >>>...
getattr (object, name[, default])是Python的内置函数之一,它的作用是获取对象的属性。 object 对象 name 属性名 default 当属性不存在时,返回的默认值 示例 代码语言:javascript 复制 >>>classFoo:...def__init__(self,x):...self.x=x...>>>f=Foo(10)>>>getattr(f,'x')10>>>f.x10>>>getattr...