@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)
运行结果: