具体用法:
class Foo: def __getitem__(self, item): print(‘=====>get‘) return self.__dict__[item] def __setitem__(self, key, value): print(‘====set‘) self.__dict__[key]=value #等同于setattr(self,key,value) def __delitem__(self, key): print(‘====del‘) self.__dict__.pop(key) f=Foo() f[‘x‘]=123123123123 #这种访问方式能对应到类中的__setitem__方法。 # del f[‘x‘] #这种方式能对应到类中的__delitem__方法。 print(f[‘x‘]) #这种方式访问能对应到类中的__getitem__的方法。
时间: 2024-10-20 01:23:31