python中@property是什么用法
时间: 2023-08-08 11:08:59 浏览: 98
`@property` 是 Python 中的一种装饰器,它可以将类方法转换为只读属性。在 Python 中,属性通常可以通过访问器方法(getter 和 setter 方法)来进行读取、赋值和删除。使用 `@property` 装饰器可以将一个方法转换为只读属性,即只允许读取,不允许赋值和删除。
例如,假设我们有一个 `Person` 类,其中包含一个 `name` 属性和一个 `get_name` 方法:
```python
class Person:
def __init__(self, name):
self._name = name
def get_name(self):
return self._name
```
如果我们想要将 `get_name` 方法转换为只读属性,可以使用 `@property` 装饰器:
```python
class Person:
def __init__(self, name):
self._name = name
@property
def name(self):
return self._name
```
在这个例子中,我们使用 `@property` 装饰器将 `get_name` 方法转换为只读属性 `name`。这样,我们可以通过 `person.name` 来获取 `name` 属性的值,而不需要调用 `get_name` 方法。同时,由于 `name` 是只读属性,我们也无法通过 `person.name = "new name"` 来修改 `name` 属性的值。
阅读全文