@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)

运行结果:

原文地址:https://www.cnblogs.com/siyz/p/9516663.html