property可以实现将类方法转换为只读属性(如果有返回值,相当于getter),同时可以自定义setter、getter、deleter方
时间: 2024-03-17 21:43:39 浏览: 114
Python 面向对象静态方法、类方法、属性方法知识点小结
法,这些方案可以在属性被设置、读取、删除时自动触发执行。您可以通过以下示例来了解property的使用方法:
```python
class MyClass:
def __init__(self):
self._my_property = None
@property
def my_property(self):
print("Getting value...")
return self._my_property
@my_property.setter
def my_property(self, value):
print("Setting value...")
self._my_property = value
@my_property.deleter
def my_property(self):
print("Deleting value...")
del self._my_property
# 使用示例
obj = MyClass()
obj.my_property = "Hello, World!" # Setting value...
print(obj.my_property) # Getting value... Hello, World!
del obj.my_property # Deleting value...
```
在上述示例中,我们定义了一个名为`my_property`的属性,并分别定义了它的getter、setter、deleter方法。当我们给`my_property`赋值时,会自动触发setter方法;当我们读取`my_property`的值时,会自动触发getter方法;当我们删除`my_property`时,会自动触发deleter方法。这使得我们可以像访问普通属性一样访问`my_property`,同时还可以在不同的操作时执行自定义的逻辑。
阅读全文