@*.setter
python中的@*.setter装饰器可以总结为两个作用:
对要存入的数据进行预处理
设置可读属性(不可修改)
注意:@.setter装饰器必须在@property装饰器的后面,且两个被修饰的函数的名称必须保持一致, 即为函数名称。
示例1
我们使用和上文一样的测试类,现在我们需要在数据存入user.age前先对其+5,利用@*.setter装饰器我们可以这样写:
class User():
def __init__(self, name, age):
self.name = name
self._age = age