实现其它语言所拥有的 getter 和 setter 的功能
作用:
用来模拟一个属性 通过@property 装饰器可以对模拟属性的取值和赋值加以控制
class Student: def __init__(self, s): self.__score = s # 私有属性,不让其它人任意修改成绩 @property def getscore(self): '''取值实现getter方法''' print('正在取值') return self.__score @getscore.setter def setscore(self, v): '''实现设置者setter,对用户的赋值加以限制''' assert 0 <= v <= 100, '成绩不合法' self.__score = vs = Student(59)print(s.getscore) # 希望有一个属能得到成绩s.setscore = 80 # 通过s.score 来修改成功print(s.getscore) # 80输出结果:tarena@tedu:~/zengsf/828$ python3 exercise828.py 正在取值59正在取值80