item系列
__getitem__(self, item) 对象通过 object[key] 触发
__setitem__(self, key, value) 对象通过 object[key] = value 触发
__delitem__(self, key) 对象通过 del object[key] 触发
![]()
class Func:
def __getitem__(self, item):
# object[item] 触发
return self.__dict__[item]
def __setitem__(self, key, value):
# object[key] = value 触发
self.__dict__[key] = value
def __delitem__(self, key):
# del object[key] 触发
print('delitem: 删除key')
del self.__dict__[key]
def __delattr__(self, item):
# del object.item 触发
print('delattr: 删除key')
del self.__dict__[item]
f = Func()
f['name'] = 'hkey' # __setitem__
f['age'] = 20 # __setitem__
print(f.name) # 对象属性原本的调用方式
print(f['name']) # __getitem__
del f['name'] # __delitem__
print('------')
del f.age # __delattr__
item系列实例