1. 程式人生 > >特性屬性 @property

特性屬性 @property

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.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 輸出結果: tarena@tedu:~/zengsf/828$ python3 exercise828.py 正在取值 59 正在取值
80

特性屬性 @property