Загружаем изображение…

Знаете, что Python умеет кешировать вычисляемое свойство объекта?



Частая проблема: есть тяжёлое вычисление внутри объекта, которое не должно выполняться повторно.

Обычно для этого заводят _cache, проверки на None и дополнительное состояние.
if self._data is None:
self._data = load()


cached_property вычисляет значение один раз, а затем автоматически сохраняет результат прямо в объекте.
@cached_property
def profile(self):


После первого обращения свойство начинает работать как обычный атрибут без повторного вызова функции.
user.profile

Это особенно полезно для ORM, API-клиентов, конфигов, парсинга и любых дорогих операций внутри моделей.
user.profile # второй вызов без вычисления

cached_property автоматически кеширует результат первого вычисления свойства и исключает повторное выполнение дорогостоящей логики при последующих обращениях к объекту.

Python Ready | #совет
Просмотры: 277
Открыть в MAX Сообщить о неточности

Репосты публикации

Публикация канала

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти