__setitem__(self,key,value):
这个方法应该以与键相关联的方式(类似字典的方式)存储值,以便之后能够使用__setitem__来获取。
当然,这个对象可变时才需要实现这个方法。
class Tag:
def __init__(self):
self.change={'python':'This is python',
'php':'PHP is a good language'}
def __getitem__(self, item):
print('调用getitem')
return self.change[item]
def __setitem__(self, key, value):
print('调用setitem')
self.change[key]=value
a=Tag()
print(a['php'])
a['php']='PHP is not a good language'
print(a['php'])
输出:
调用getitem
PHP is a good language
调用setitem
调用getitem
PHP is not a good language