第三十一篇:Python 面向对象的属性装饰器
1. @property 装饰器
使用 @property 将方法转换为属性调用
在 Python 中,@property
装饰器可以将类中的方法转换为属性调用的形式。这使得代码看起来更加自然和直观,就像访问普通属性一样访问方法的返回值。
例如,假设我们有一个表示矩形的类 Rectangle
,我们想要获取矩形的面积。传统方式是通过调用方法来实现:
class Rectangle:
def __init__(self, width, height):
self.width = width
self.height = height
def get_area(self):
return self.width * self.height
rect = Rectangle(5, 3)
area = rect.get_area()
print(f"矩形面积: {
area}")
使用 @property
装饰器后,代码可以改写为:
class Rectangle:
def __init__(self, width, height):
self.width = width
self.height = height
@property
def area(self):
return self.width * self.height
rect = Rectangle(5, 3)
area = rect.area
print(f"矩形面积: {
area}")
在这个例子中,