Кэшированные атрибуты
Во встроенном пакете
Таким образом, при первом обращении к атрибуту производятся вычисления в методе, а при дальнейших берется уже кэшированное значение.
Подобное кэшеирование полезно в случаях, когда в методе производятся вычисления, которые нагружают систему и занимают много времени.
По сути,
#functools #cached_property
Во встроенном пакете
functools
есть классный декоратор @cached_property
, который позволяет кэшировать результат метода и загнать его в атрибут.Таким образом, при первом обращении к атрибуту производятся вычисления в методе, а при дальнейших берется уже кэшированное значение.
Подобное кэшеирование полезно в случаях, когда в методе производятся вычисления, которые нагружают систему и занимают много времени.
По сути,
@cached_property
можно сравнить с комбинацией декораторов @property
(про это был пост) и @functools.lru_cache
(и про это тоже).#functools #cached_property