Python装饰器(@property)
1 @property 表示装饰器,可以将方法转换为用于计算的属性,并返回,
使用@property实现getter()方法,将一个方法转为只读属性
用@<方法名>.setter装饰器可以将方法转换为可写的setter()方法
2 格式:
@property
def method(self):
block
@method.setter
def method(self,value):
block
3.举例
import math
class Rect:
def __init__(self, radius):
self.__radius = radius
@property
def area(self):
return self.__radius*self.__radius*math.pi
#
@area.setter
def area(self, value):
self.__radius = value
rect1 = Rect(10)
print("原始面积: %.2f"%rect1.area)
rect1.area = 100
print("修改后的面积: %.2f"%rect1.area)