> 文章列表 > Python装饰器(@property)

Python装饰器(@property)

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)