实现功能 property()是Python内置函数,用于创建一个特殊的属性,该属性可以像普通属性一样访问,但其值是通过方法计算得出的。它通常用于控制对类的私有属性的访问,以实现更好的封装性和安全性。 property()函数的语法如下: property(fget=None, fset=None, fdel=None, doc=None) 其中,参数fget、fset和fdel是可选的方法,用于获取、设置和删除属性的值。这些方法可以是类的成员方法或静态方法。参数doc是可选的字符串,用于描述属性的文档字符串。 实现代码 class Rectangle: def __init__(self, width, height): self._width = width self._height = height @property def area(self): return self._width * self._height r = Rectangle(3, 4)print(r.area) # 输出:12 实现效果 在上面的示例中,我们定义了一个名为Rectangle的类,它有两个私有属性_width和_height,分别表示矩形的宽度和高度。我们使用@property装饰器将area()方法转换为只读属性area,该属性返回矩形的面积,由私有属性计算得出。 现在,我们可以像访问普通属性一样访问area属性,而不必调用area()方法。例如,r.area将返回矩形的面积12。 ![]()
|
|