代码:
# 各种item的使用方法
class ItemTest(object):
def __init__(self):
self.test = {"me": "I am here!",
"who": "Who is there?"}
def __getitem__(self, item):
print('调用getitem')
return self.test[item]
def __setitem__(self, key, value):
print("调用setitem")
self.test[key] = value
def __delitem__(self, key):
print("调用delitem")
del self.test[key]
a = ItemTest()
# 设置对象的键和值
a['oliver'] = 'peace'
# 调用__setitem__函数
print(a['oliver'])
# 调用__getitem__函数
print(a["who"])
# 调用__setitem__函数
del a["who"]
print(a.test)
结果:
调用setitem
调用getitem
peace
调用getitem
Who is there?
调用delitem
{'me': 'I am here!', 'oliver': 'peace'}
[Finished in 0.0s]
总结:
"__getitem__()" 使用于对象的带键类型.
"__setitem__()" 使用于对象存在键值对类型
"__delitem__()" 使用与删除带已存在键对象时运行