在Python中,@property
装饰器用于将一个类的方法转变为属性访问的形式。这通常用于当你想提供一个方法,让它表现得像是一个属性,或者当你想在访问属性时加入一些逻辑处理。
下面是一个使用 @property
的例子:
1 |
|
在这个例子中,Circle
类有两个属性:radius
和 area
。通过使用 @property
装饰器,我们定义了 radius
的 getter 和 setter 方法,以及 area
的只读属性。
@property
装饰器将radius
方法转换为属性,这样我们就可以使用circle.radius
来访问或设置圆的半径。@radius.setter
装饰器定义了设置radius
属性时应该执行的代码,这里我们添加了一个检查,确保半径不会是负数。area
属性使用了@property
装饰器,但没有对应的 setter 方法,因此它是一个只读属性。我们不能直接设置area
的值,但可以通过访问circle.area
来获取圆的面积。
使用 @property
的好处是代码更加清晰易读,同时可以在访问属性时加入逻辑处理,使得类的接口更加安全和灵活。
Python学习交流群,欢迎加入,👇