如您所见,函数full_name返回一个包含人员名字和姓氏的字符串。
什么@property
装饰呢,就是声明它可以访问就像是一个普通的属性。
这意味着您可以full_name
像调用成员变量而不是函数一样进行调用,如下所示:
name = person.full_name
代替
name = person.full_name()
您还可以定义如下的setter方法:
@full_name.setter
def full_name(self, value):
names = value.split(' ')
self.first_name = names[0]
self.last_name = names[1]
使用此方法,您可以这样设置人员全名:
person.full_name = 'John Doe'
代替
person.set_full_name('John Doe')