python 定义属性类
时间: 2023-07-10 20:25:23 浏览: 53
在 Python 中,可以通过定义属性类来创建自己的属性,可以使用 `property()` 函数创建一个属性,并指定这个属性的 getter、setter 和 deleter 方法。
以下是一个示例:
```python
class Person:
def __init__(self, name):
self._name = name
@property
def name(self):
return self._name
@name.setter
def name(self, value):
self._name = value
@name.deleter
def name(self):
del self._name
```
在上面的示例中,我们定义了一个 `Person` 类,它有一个名为 `_name` 的私有属性和一个名为 `name` 的属性。`name` 属性使用 `property()` 函数创建,并指定了 getter、setter 和 deleter 方法。
现在,我们可以像访问普通属性一样访问 `Person` 类的 `name` 属性:
```python
person = Person('Alice')
print(person.name) # 输出 'Alice'
person.name = 'Bob'
print(person.name) # 输出 'Bob'
del person.name
print(person.name) # 抛出 AttributeError
```
在上面的示例中,我们创建了一个 `Person` 对象,并通过访问 `name` 属性来获取和设置它的值。我们还使用 `del` 关键字删除了 `name` 属性,因此再次访问 `name` 属性会抛出 `AttributeError` 异常。