functools.lru_cache в Python и зачем он используется?functools.lru_cache — это декоратор, который позволяет кэшировать результаты функции для повышения производительности. Он запоминает результаты вызовов функции с определёнными аргументами и возвращает их из кэша при повторных вызовах.➡️ Пример:
from functools import lru_cache
import time
@lru_cache(maxsize=3)
def slow_function(n):
time.sleep(2)
return n * 2
print(slow_function(5)) # Выполняется медленно (2 секунды)
print(slow_function(5)) # Возвращает результат мгновенно из кэша
🗣️ В этом примере функция slow_function кэширует результаты для трёх последних аргументов. Повторный вызов с теми же аргументами возвращает результат мгновенно, ускоряя выполнение.
🖥 Подробнее тут