装饰器使用@ property

  

转载:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143186781871161bc8d6497004764b398401a401d4cce000

  

@property@XXX。setter
br/> @XXX.setter
  

仅使用@ property设置一个只读属性

  
 <代码>类学生(对象):
  
  @ property
  def得分(自我):
  返回self._score
  
  @score.setter
  def得分(自我价值):
  如果不是isinstance(价值,int):
  提高ValueError(“分数必须是整数!”)
  如果价值& lt;0或价值比;100:
  提高ValueError(“分数必须在0 ~ 100之间!”)
  自我。_score=价值 
  

使用@ property后,调用函数变为函数名称的属性赋值,读取

  
 <代码>。分数=60 #好吧,实际转化为s.set_score (60)
  年代。分数#好吧,实际转化为s.get_score()  

装饰器使用@ property