@property
把屬性裝飾成get方法
給屬性賦值時,會自動調用@property裝飾的方法
只設置屬性的@property 時,屬性爲只讀
@score.setter
把屬性裝飾成set方法
給屬性賦值時,會自動調用@score.setter裝飾的方法
1 #python練習 2 3 class student(): 4 5 def __init__(self,name,score): 6 self.name = name 7 self.__score = score 8 9 @property 10 def score(self): 11 return self.__score 12 13 @score.setter 14 def score(self,score): 15 if score <0 or score >100 : 16 raise ValueError('score 值輸入錯誤') 17 self.score = score 18 19 20 if __name__ == '__main__': 21 s = student("1","11") 22 s.score = 1000 23 print(s.score)
運行結果:python