<接上一篇>python类的定义及装饰器

@dataclass
class Rectangle:
    width: float
    height: float
    # 派生字段,不参与初始化
    area: float = field(init=False)
    perimeter: float = field(init=False)

    def __post_init__(self):
        self.area = self.width * self.height
        self.perimeter = 2 * (self.width + self.height)


r = Rectangle(5, 3)
print(r.area)  # 15.0
print(r.perimeter)  # 16.0

  

posted @ 2026-06-01 20:27  此心安处2022  阅读(5)  评论(0)    收藏  举报