声明属性过后可以通过字段的方式访问
import datetime
class Person:
def __init__(self,name,birthdate):
self.name=name
self.birthdate=birthdate
def __str__(self):
return '{} : {}'.format(self.name,self.age)
@property ##声明属性
def age(self):
return datetime.datetime.today().year-self.birthdate.year
@age.setter ##声明属性的设置器
def age(self):
raise ValueError('年龄通过生日计算,不可以赋值')
if __name__ == '__main__':
p=Person('mike',datetime.date(1994,5,27))
print(p)