1 class c: def __init__(self): self.x='X-man' c1=c() print(c1.x) print(getattr(c1,'x','no')) print(getattr(c1,'t','no'))
class D: def __getattribute__(self, name): print("getattribute") def __getattr__(self, name): print('getattr') def __setattr__(self, name, value): print('set') super().__setattr__(name,value) def __delattr__(self, name): print('del') super().__delattr__(name)
d=D() print(d.x) d.a=1 print(d.a)
class rectangle: def __init__(self,w=0,h=0): self.w=w self.h=h def __setattr__(self, key, value): if key=='square': self.w=value self.h=value else: #self.key=value #err #super().__setattr__(key,value) #right self.__dict__[key]=value def getarea(self): return self.w*self.h
r1=rectangle(4,5) print(r1.getarea())
1
|