__setitem__,__getitem,__delitem__
程序员文章站
2022-07-11 16:33:00
[TOC] \_\_setitem\_\_ 中括号赋值时触发 setitem执行 setitem执行 \_\_getitem\_\_ 中括号取值时触发 getitem执行 18 setitem执行 \_\_delitem\_\_与\_\_delattr\_\_ \_\_delitem\_\_:中括号 ......
目录
class foo: def __init__(self, name): self.name = name def __getitem__(self, item): print('getitem执行', self.__dict__[item]) def __setitem__(self, key, value): print('setitem执行') self.__dict__[key] = value def __delitem__(self, key): print('del obj[key]时,delitem执行') self.__dict__.pop(key) def __delattr__(self, item): print('del obj.key时,delattr执行') self.__dict__.pop(item) f1 = foo('sb')
__setitem__
- 中括号赋值时触发
f1['age'] = 18 f1['age1'] = 19
setitem执行 setitem执行
__getitem__
- 中括号取值时触发
f1['age']
getitem执行 18
f1['name'] = 'tank'
setitem执行
__delitem__与__delattr__
- __delitem__:中括号删除时触发
- __delattr__:.删除时触发
del f1.age1 del f1['age']
del obj.key时,delattr执行 del obj[key]时,delitem执行
print(f1.__dict__)
{'name': 'tank'}
上一篇: 图解Python变量与赋值
推荐阅读
-
Python类中方法getitem和getattr详解
-
__setitem__,__getitem,__delitem__
-
__getitem__
-
python 的__len__,__getitem__ __setitem__ __delitem__ __contains__
-
Python类中方法getitem和getattr详解
-
解析Python中的__getitem__专有方法
-
解析Python中的__getitem__专有方法
-
Python 的 setitem、getitem、delitem 特殊方法使用
-
详解Python中的__getitem__方法与slice对象的切片操作
-
详解Python中的__getitem__方法与slice对象的切片操作