| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
老版0基础入门python45课,我设置和改变属性后,属性的值还一直是返回None 
我已经使用super函数调用了基类的正常动作,为什么还是返回None? 
 
class A(): 
    def __init__(self,x): 
        self.x=100 
 
    def __getattr__(self, item): 
        print("没有属性时被调用啦") 
 
    def __getattribute__(self,item): 
        print("有属性时被调用啦") 
        super().__getattribute__(item) 
 
    def __setattr__(self, item, value): 
        print("set被调用啦") 
        super().__setattr__(item,value) 
 
    def __delattr__(self,item): 
        print("删除被调用啦") 
        super().__delattr__(item) 
 
c= A(10) 
 
 
print(c.x) 
c.x=100 
print(c.x) 
b=c.x 
 
 
print(c.x)
 本帖最后由 heidern0612 于 2020-3-25 08:13 编辑 
没有return的值。
 
 
- class A():
 
 -         def __init__(self,x):
 
 -                 self.x=x
 
  
-         def __getattr__(self,item):
 
 -                 print("check value")
 
  
-         def __getattribute__(self,item):
 
 -                 print("get value")
 
 -                 return super().__getattribute__(item)
 
  
-         def __setattr__(self, item, value):
 
 -                 print("set value")
 
 -                 return super().__setattr__(item,value)
 
  
-         def __delattr__(self,item):
 
 -                 print("del setting")
 
 -                 super().__delattr__(item)
 
 -         
 
 - c= A(10)
 
 - print(c.x)
 
  
- c.x=100
 
 - print(c.x)
 
  
- b=c.x
 
 - print(c.x)
 
 
  复制代码 
 
 
 |   
 
 
 
 |