Python中property的应用例子
时间: 2024-03-25 13:38:47 浏览: 57
Python @property原理解析和用法实例
一个常见的应用场景是将类中的某些方法转换为属性,以方便使用。例如,考虑以下的Person类:
```python
class Person:
def __init__(self, name, age):
self._name = name
self._age = age
def get_name(self):
return self._name
def set_name(self, name):
self._name = name
def get_age(self):
return self._age
def set_age(self, age):
if age < 0:
raise ValueError("Age can't be negative")
self._age = age
```
这个类中有四个方法,分别用于获取和设置人的姓名和年龄。为了方便使用,我们可以将这些方法转换为属性,例如:
```python
class Person:
def __init__(self, name, age):
self._name = name
self._age = age
@property
def name(self):
return self._name
@name.setter
def name(self, name):
self._name = name
@property
def age(self):
return self._age
@age.setter
def age(self, age):
if age < 0:
raise ValueError("Age can't be negative")
self._age = age
```
现在,我们就可以像访问普通的属性一样访问和修改人的姓名和年龄,例如:
```python
person = Person("Alice", 30)
print(person.name) # 输出 "Alice"
person.name = "Bob"
print(person.name) # 输出 "Bob"
print(person.age) # 输出 30
person.age = 25
print(person.age) # 输出 25
```
通过使用@property装饰器,我们可以将类中的方法转换为属性,从而使得类的使用更加方便和直观。
阅读全文