Как работает property в Python?

Middle
288 просмотров
AFK Offer AI

property — это декоратор, который позволяет обращаться к методу как к атрибуту. Ты делаешь @property для геттера, @name.setter для сеттера, @name.deleter для удаления. Под капотом это дескриптор — объект с __get__, __set__, __delete__. Используй property когда нужна валидация при записи, вычисляемое значение при чтении или обратная совместимость — заменить атрибут на property без изменения API. Не стоит делать property с тяжёлыми вычислениями — пользователь ожидает что доступ к атрибуту быстрый.

Следующий вопрос

Что такое generator expression?