|  | 
 
6鱼币 
| 小甲鱼的代码中输入c =C(),在输入c.x得到的是2   ,如果在得__getattribute__中加上return super().__getattribute__(name)得到的是2 ,1 小甲鱼的代码
 
 复制代码class C:
        def __getattr__(self, name):
                print(1)
        def __getattribute__(self, name):
                print(2)
        def __setattr__(self, name, value):
                print(3)
        def __delattr__(self, name):
                print(4)
我说的代码
 
 复制代码class C:
        def __getattr__(self, name):
                print(1)
        def __getattribute__(self, name):
                print('2')
                return super().__getattribute__(name)
        def __setattr__(self, name, value):
                print(3)
        def __delattr__(self, name):
                print(4)
 
 
因为 c.x 属性不存在,所以会调用 __getattr__()。 | 
 
最佳答案
查看完整内容 因为 c.x 属性不存在,所以会调用 __getattr__()。 |