python setattribute,python getattr setattr
1、说明
定义类对象管理属性,并将属性名称和值存储在实例对象中。
Self.attrname和instance.attrname将调用该类的内置方法__setattr__方法。
2、实例
#attr.pyclassAcessControl:
def__init__(self):
Self.hobby=basketball#将调用下面的__setattr__方法
def__setattr__(self,key,value):
#self.name=xxxx#不能在__setattr__上使用self.attr,这将导致递归应用程序循环。
打印( accesscontrolsetattr . )ifkey==age:
自我。__dict__[key]=value 10#通过内置字典保存属性数据。
else:
自我。_ _ dict _ _[key]=valuedef _ _ delattr _ _(self,item):
print( delitem[% s] % item)def _ _ getattr _ _(self,item):
print( getitem[% s] % item)def test _ access _ control():
ac=访问控制()
Ac.age=10# call __setattr__
Print(ac.age)#直接输入值,不调用__getattr__
Print(ac.hobby)#当属性有值,即非None时,不会调用__getattr__方法。如果没有值,也就是说,None将调用__getattr__方法。
Delac.age#调用__delattr__
Print(ac.name)#调用__getattr__,调用未定义的属性时,如果_ _ name _= _ main _ 3360 test _ access _ control()python attr . py # 2 . x3 . x以上在Python中为_ __setattr__,则此函数将被回调并返回none。更多python学习方向:Python基础课程
本教程运行环境:windows7系统,Python 3.9.1,DELL G3电脑。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。