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

posted @ 2021-10-11 10:22  Raymone1125  阅读(121)  评论(0编辑  收藏  举报