Справочник · модуль 9 «Объекты и классы»

Property

Запись @property над методом делает из него атрибут: объект.имя без скобок. Так можно проверять значения.

Сравнение из жизни

Как окошко выдачи: снаружи витрина, а внутри проверка.

Пример

class Rectangle:
    def __init__(self, w, h):
        self.w = w
        self.h = h

    @property
    def area(self):
        return self.w * self.h

r = Rectangle(3, 4)
print(r.area)
r.w = 10
print(r.area)
Результат
12
40

Учитель в уроке Строчка собака property над методом делает из него атрибут. Читают его без скобок: r точка area. Значение всегда свежее: его считают заново.

Запомнить

property — как окошко кассы. Снаружи похоже на обычное значение, а внутри работает проверка или подсчёт.

Тема из урока 9.6 «Скрытое и особое» курса PythonAZ.

В этом же уроке