1、property
将方法伪装成属性
2、setter 修改属性
只有当被property装饰的方法,又实现了一个同名方法,且被setter装饰器
装饰了,在被装饰的方法赋值的时候,就触发被setter装饰器装饰的方法
3、deleter 删除属性
class Student: def __init__(self,name): self.__name = name @property def name(self): return self.__name @name.setter def name(self,new_name): self.__name = new_name @name.deleter def name(self): del self.__name zhangsan = Student('张三') print(zhangsan.name) zhangsan.name = '李四' print(zhangsan.name) del zhangsan.name print(zhangsan.__dict__)