Вычисляемые свойства

Классы / Свойства

from math import sqrt


class Square:
    def __init__(self, side):
        self.side = side

    @property
    def area(self):
        return self.side * self.side

    @area.setter
    def area(self, value):
        self.side = sqrt(value)


square = Square(2)
# square.area is 4
print(f"{square.area = }")

square.area = 9
# square.side is 3.0
print(f"{square.side = }")