Python进阶-----类的内置item属性方法
类的内置item相关方法只有在通过字典key操作才会触发
而通过点的方式来操作,则触发attr相关方法
class Foo: def __init__(self,name,age): self.name = name self.age = age def __getitem__(self, item): print('执行getitem') return self.__dict__[item] def __setitem__(self, key, value): print('执行setitem') self.__dict__[key] = value def __delitem__(self, key): print('执行delitem') self.__dict__.pop(key) f = Foo('Jerry',18) #获取属性,通过字典key的形式,其实是操作底层__dict__[key]来获取相应的值 print(f['name']) #执行getitem Jerry #设置(修改)属性,也是通过字典key的形式,其实是操作底层__dict__[key] = value 来设置(修改)相应的值 f['name'] = 'Meanwey' #执行setitem print(f.__dict__) #{'name': 'Meanwey', 'age': 18} #删除属性,通过字典key的形式,其实是操作底层__dict__.pop(key)来删除相应的属性和值 del f['age'] #执行delitem print(f.__dict__) #{'name': 'Meanwey'}