项目场景:
@property 装饰器的使用
问题描述
@property 装饰器的使用,可以让你的方式和类,更加容易获取和使用,直接把属性暴露出来,直接赋值
class MyInfo(object):
# 把类里面的方法,变成属性
@property
def myage(self):
return self._age
# 属性赋值 把 myage的数值付给value
@myage.setter
def myage(self, value):
if not isinstance(value, int):
raise ValueError('score must be an integer!')
if value < 0 or value > 100:
raise ValueError('score must between 0 ~ 100!')
self._age = value
s = MyInfo()
s.myage = 10 # 直接改变属性
s.myage = 1000 # 报错
原因分析:
一般使用在类里面,是代码更加容易的被调用和赋值,并且对应数值进行检验,保证数值的准确性