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