@property和@score.setter的用法--學習記錄

@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

相關文章
相關標籤/搜索