特性屬性 @property
阿新 • • 發佈:2018-08-30
init rop prop 私有 .get 賦值 成功 self. ini
實現其它語言所擁有的 getter 和 setter 的功能
作用:
用來模擬一個屬性
通過@property 裝飾器可以對模擬屬性的取值和賦值加以控制
class Student: def __init__(self, s): self.__score = s # 私有屬性,不讓其它人任意修改成績 @property def getscore(self): ‘‘‘取值實現getter方法‘‘‘ print(‘正在取值‘) return self.__score @getscore.setterdef 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 輸出結果: tarena@tedu:~/zengsf/828$ python3 exercise828.py 正在取值 59 正在取值80
特性屬性 @property