functools.lru_cache(maxsize=128) — декоратор мемоизации. Кэширует результаты функции по аргументам. При повторном вызове с теми же аргументами возвращает кэшированный результат. LRU — Least Recently Used, при переполнении удаляет самый давно использованный. Аргументы должны быть hashable (нельзя list/dict). cache_info() — статистика (hits, misses). cache_clear() — очистка. maxsize=None (или @cache в 3.9+) — безлимитный кэш. Идеально для рекурсий (Fibonacci), чистых функций с дорогими вычислениями.