python @setter
时间: 2023-09-22 16:13:11 浏览: 119
Python的@property装饰器和setter方法可以用来创建可读写的属性。@property装饰器用于定义属性的getter方法,而setter方法则用于定义属性的setter方法。
下面是一个示例,演示如何使用@property和setter方法来创建一个可读写的属性:
```python
class MyClass:
def __init__(self):
self._my_property = None
@property
def my_property(self):
return self._my_property
@my_property.setter
def my_property(self, value):
self._my_property = value
```
在这个示例中,我们定义了一个名为`my_property`的属性。通过@property装饰器和getter方法,我们可以将其定义为只读属性。而通过setter方法,我们可以将其定义为可写属性。
使用时,我们可以像访问普通属性一样访问和修改`my_property`属性:
```python
obj = MyClass()
# 获取属性值
print(obj.my_property)
# 设置属性值
obj.my_property = "New value"
```
这样,我们就可以通过@property装饰器和setter方法创建一个可读写的属性。当我们访问或修改这个属性时,实际上是调用了getter和setter方法。
阅读全文