本文主要介绍Python类中getitem和getattr方法的详细说明。通过示例代码详细介绍,对大家的学习或工作有一定的参考价值。有需要的朋友可以参考一下。
1、getitem 方法
使用这种方法最大的印象就是调用对象的属性可以像字典值一样使用括号['key']。
当使用括号在对象中赋值、赋值或删除属性时,会自动触发相应的__getitem__、__setitem__、__delitem__方法。
代码如下:
类Foo(对象):
def __init__(self):
self.name='jack '
def __getitem__(self,item):
如果项目在自身中。__dict__: # item=key,判断该键是否存在于对象的__dict__中,
返回。__dict__ [item] #返回与对象__dict__中的键相对应的值
def __setitem__(self,key,value):
自我。__dict__[key]=value #设置对象__dict__中指定键的值
def __delitem__(self,key):
德尔赛尔夫。__dict__[key] #删除对象__dict__中的指定键
f1=Foo()
print(f1['name']) # jack
f1['年龄']=10
print(f1['age']) # 10
del f1['名称']
打印(f1。__dict__) # {'age': 10}
2.getattr方法
当一个对象被赋值、赋值或删除时,默认会调用对应的__getattr__、__setattr__、__delattr__方法。
当取一个对象的值时,取值的顺序是:首先从对象中的__getattribute__中找到,其次从对象的属性中找到,第三从当前类中找到,第四从父类中找到,第五从__getattr__中找到。如果没有,直接抛出异常。
代码如下:
类Foo(对象):
def __init__(self):
self.name='jack '
def __getattr__(self,item):
如果项目在自身中。__词典_ _:
回归自我。__dict__[item]
def __setattr__(self,key,value):
自我。__dict__[key]=值
def __delattr__(self,item):
德尔赛尔夫。__dict__[item]
c1=Foo()
打印(c1.name) #插孔
c1 .年龄=18岁
打印(c1 .年龄)# 18
删除对象c1的年龄
打印(c1.age) #无
这就是本文的全部内容。希望对大家的学习有帮助,支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。