假设以前有一个属性age,现在删掉了,通过函数get_age来做,此时就需要把全局的self.age 改为 get_age 很麻烦
现在就可以用@propert装饰器,把一个函数变成类的属性
from datetime import date,datetime
class User:
def __init__(self,name,birth):
self.name = name
self.birth = birth
# self.age = 0
def get_age(self):
return datetime.now().year - self.birth.year
@property
def age(self):
return datetime.now().year - self.birth.year
user = User("zhou",date(year=1987,month=1,day=1))
print(user.age)
>>> 31
网友评论