item是字典方式触发的
__setitem__
__getitem__
__delitem__
1 class Foo:
2 def __getitem__(self, item):
3 print('getitem',item)
4 return self.__dict__[item]
5
6 def __setitem__(self, key, value):
7 print('setitem')
8 self.__dict__[key]=value
9
10 def __delitem__(self, key):
11 print('delitem')
12 self.__dict__.pop(key)
13
14 f1=Foo()
15 print(f1.__dict__)
16 # f1.name='egon' #---->点触发attr系列方法
17 f1['name']='egon' #--->中括号字典形式触发item系列方法
18 f1['age']=18
19
20 print('===>',f1.__dict__)
21
22 # del f1.name
23 # print(f1.__dict__)
24 25 # print(f1.age)
26 del f1['name']
27 print(f1.__dict__)
28
29 print(f1['age'])
输出
{}
setitem
setitem
===> {'name': 'egon', 'age': 18}
delitem
{'age': 18}
getitem age
18
继续阅读与本文标签相同的文章
上一篇 :
开源大数据周刊-第103期
-
用好SmartArt,快速制作美观工整的PPT
2026-05-18栏目: 教程
-
CMU 15-721 15-查询执行和处理过程 Query Execution & Processing
2026-05-18栏目: 教程
-
这些时间相关的函数超好用!你都会了吗?
2026-05-18栏目: 教程
-
加速5G商业成功,华为5G设备全球发货超40万
2026-05-18栏目: 教程
-
如何看清新媒体行业过去和未来的红利?
2026-05-18栏目: 教程
