python OOP @property

@property

class 有属性以及方法
直接赋予属性值导致不通过检查(属性有取值范围)就随便篡改
python OOP @property
通过getter 以及setter可以达到目的
python OOP @property

python OOP @property

由于上述方法太复杂,运用@property 可以既能检查参数又能用属性的方式访问。

python OOP @property

@property 相当于@score.getter 把方法变成属性, 同时@property 创建@score.setter,这样就拥有了一个可读可写的属性

@property 广泛引用在类的定义中,可以使代码变得简单,同时保证检查属性的值,程序减少出错的可能性。