标签:color init pop att foo sel elf bsp delattr
class Foo: def __init__(self,name): self.name=name def __getitem__(self, item): print(self.__dict__[item]) def __setitem__(self, key, value): self.__dict__[key]=value def __delitem__(self, key): print(‘del obj[key]时,我执行‘) self.__dict__.pop(key) def __delattr__(self, item): print(‘del obj.key时,我执行‘) self.__dict__.pop(item) f1=Foo(‘sb‘) f1[‘age‘]=18 f1[‘age1‘]=19 del f1.age1 del f1[‘age‘] f1[‘name‘]=‘alex‘ print(f1.__dict__)
通过f1.name的方法触发的是attr内置方法,通过f1[‘name‘]触发的是item内置方法
1
标签:color init pop att foo sel elf bsp delattr
原文地址:https://www.cnblogs.com/Manuel/p/12863638.html