当你使用@property装饰器时,你可以将一个方法转换为一个属性。具体来说,getter方法就是用于获取属性的值,并且setter方法用于设置属性的值。下面是一个简单的示例:
class Person: def init(self, first_name, last_name): self._first_name = first_name self._last_name = last_name
@property
def full_name(self):
return f"{self._first_name} {self._last_name}"
@full_name.setter
def full_name(self, name):
self._first_name, self._last_name = name.split(" ")
person = Person("John", "Doe") print(person.full_name) # 输出 "John Doe"
person.full_name = "Jane Smith" print(person.full_name) # 输出 "Jane Smith"
在这个示例中,我们定义了一个名为full_name的属性,它实际上是由getter和setter方法组成的。getter方法返回名字和姓氏的字符串,并且setter方法接受一个字符串参数,并从中提取出名字和姓氏,然后设置到对应的实例变量中。最后,我们创建一个Person实例,并使用full_name属性来获取和设置名字。