RT
class Foo: def __init__(self,name): self.name=name def __getattr__(self, item): print('你找的属性%s不存在'%item) def __setattr__(self, key, value): print('执行setattr',key,value) if type(value) is str:#判断是否为str类型 print('开始设置') self.__dict__[key] = value else: print('必须是str类型') def __delattr__(self, item): print('不允许删除属性%s'%item) # self.__dict__.pop(item)#底层删除 f1=Foo('abc') f1.age=18 del f1.name print(f1.__dict__)