python中的property作用
import datetime
class Student:
@property
def age(self):
return self._age
@age.setter # property作用1 : 可以在设置属性时候 触发相关的 验证 装饰 等功能
def age(self, value):
if not isinstance(value, int):
raise ValueError("age must be a integer!")
if value<0 or value>100:
raise ValueError("age must be between 0 and 100!")
self._age = value
@property # property作用2 :将函数变成 类的一个属性进行 调用
def birthYear(self):
self._birthYear = datetime.datetime.now().year - self._age
return self._birthYear