class Foo: def __init__(self,name,age,sex): self.name = name self.age = age self.sex= sex def __getitem__(self, item): if hasattr(self,item): return self.__dict__[item] def __setitem__(self, key, value): self.__dict__[key] = value def __delitem__(self, key): print("执行 delitem") del self.__dict__[key] def __delattr__(self, item): print("执行 delattr") self.__dict__.pop(item) f = Foo("alex",22,"M") print(f["name"]) #f["name"]自动触发__getitem__方法 f["role"] = "teacher" #自动触发__setitem__方法 del f["role"] #对应__delitem__方法 必须重写__delitem__方法 del f.role #对应__delattr__ 不必重写 object原生支持