__delattr__\__delitem__

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)
    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__)

  

原文地址:https://www.cnblogs.com/huangjinshan/p/6225054.html