斯坦福在读博士 / 理论 / 46

分享

   

46

2018-09-04  斯坦福在...
 
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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多
    喜欢该文的人也喜欢 更多

    ×
    ×

    ¥.00

    微信或支付宝扫码支付:

    开通即同意《个图VIP服务协议》

    全部>>