python学习之__getitem__,__setitem__,__delitem__
2021-02-08 06:20
标签:def -- 括号 学习 === value foo ict self __getitem__(self,item) class Foo: def __setitem__(self, key, value): def __delitem__(self, key): f1=Foo() print(‘===>‘,f1.__dict__) # del f1.name print(f1[‘age‘]) 通过字典形式操作属性值(获取,设置,删除)触发以上三个方法。 python学习之__getitem__,__setitem__,__delitem__ 标签:def -- 括号 学习 === value foo ict self 原文地址:https://www.cnblogs.com/jinpingzhao/p/12771709.html
__setitem__(self,key,value)
__delitem__(self,key)
def __getitem__(self, item):
print(‘getitem‘,item)
return self.__dict__[item]
print(‘setitem‘)
self.__dict__[key]=value
print(‘delitem‘)
self.__dict__.pop(key)
print(f1.__dict__)
# f1.name=‘egon‘ #---->setattr-------->f1.__dict__[‘name‘]=‘egon‘
f1[‘name‘]=‘egon‘#--->setitem--------->f1.__dict__[‘name‘]=‘egon‘
f1[‘age‘]=18
# print(f1.__dict__)
#
# print(f1.age)
del f1[‘name‘]
print(f1.__dict__)
区别:"."点的形式操作跟attr相关,"[]"中括号形式操作跟item相关
下一篇:Java 复制Word文档
文章标题:python学习之__getitem__,__setitem__,__delitem__
文章链接:http://soscw.com/index.php/essay/52525.html