python .setter
时间: 2023-08-21 11:15:36 浏览: 96
Python中的.setter是一个装饰器,用于定义一个类的属性的setter方法。setter方法允许我们对属性进行赋值操作时执行一些逻辑或检查。
下面是一个简单的示例代码,演示如何使用.setter装饰器:
```python
class Person:
def __init__(self, name):
self._name = name # 使用下划线前缀表示私有属性
@property
def name(self):
return self._name
@name.setter
def name(self, value):
if isinstance(value, str):
self._name = value
else:
raise ValueError("Name must be a string.")
# 创建一个Person对象
person = Person("Alice")
# 使用.setter装饰器赋值
person.name = "Bob"
# 输出属性值
print(person.name) # 输出: Bob
```
在上面的代码中,我们使用@property装饰器定义了一个name属性的getter方法。然后使用@name.setter装饰器定义了一个name属性的setter方法。在setter方法中,我们添加了一些逻辑,只有当赋值为字符串时才允许修改属性值。
这样,当我们使用person.name = "Bob"对属性进行赋值时,会自动调用setter方法,进行逻辑判断和赋值操作。
希望以上示例能够帮助到你!如果有任何进一步的问题,请随时提问。
阅读全文