特性属性 @property
Posted zengsf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了特性属性 @property相关的知识,希望对你有一定的参考价值。
实现其它语言所拥有的 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 = v s = Student(59) print(s.getscore) # 希望有一个属能得到成绩 s.setscore = 80 # 通过s.score 来修改成功 print(s.getscore) # 80 输出结果: [email protected]:~/zengsf/828$ python3 exercise828.py 正在取值 59 正在取值 80
以上是关于特性属性 @property的主要内容,如果未能解决你的问题,请参考以下文章