property是一种装饰器,会将被装饰的方法转换为属性。可以防止属性被修改。起到包含属性的作用。
class Task:
def __init__(self, age):
self._age = age
@property
def age(self):
return self._age
# 修改属性
@age.setter
def age(self, value):
self._age = value
task = Task(15)
task.age = 18
需要注意的是,这种方法和设置私有属性的有不同的。在python中,设置私有属性还有可以通过以下方式获取和修改
class Task:
def __init__(self, age):
self.__age = age
task = Task(15)
task._Task__age = '1'
print(task._Task__age)