python setattribute,python getattr setattr

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: