python @property详解
时间: 2023-04-24 12:01:21 浏览: 159
Python 中@property的用法详解
5星 · 资源好评率100%
@property 是一个 Python 的内置装饰器,用于将方法声明为类的属性。它可以帮助我们简化代码,隐藏内部实现细节,使得类看起来像是一个存储数据的数据结构。使用方法为:在方法前面加上 @property 装饰器,这个方法就可以作为一个属性使用,而不需要加括号。
示例代码:
```
class Circle:
def __init__(self, radius):
self._radius = radius
@property
def radius(self):
return self._radius
@radius.setter
def radius(self, value):
if value < 0:
raise ValueError("radius cannot be negative")
self._radius = value
@property
def area(self):
return 3.14 * self._radius ** 2
c = Circle(5)
print(c.radius) # 5
c.radius = 10
print(c.area) # 314.0
```
在这个例子中,我们声明了一个 Circle 类,其中定义了 radius 属性。使用 @property 装饰器,radius 属性可以像普通变量一样访问,而不需要加括号。同时,还可以使用 @radius.setter 装饰器声明 radius 的 setter 方法,以控制该属性的设置。
阅读全文