Справочник · модуль 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.