👁 Для ускорения сложных вычислений или частых запросов в Python можно использовать кэширование. Встроенная функция functools.lru_cache сохраняет результаты функций, исключая их повторное вычисление при тех же аргументах.
📝 Пример кода:
import functools
@functools.lru_cache(maxsize=128)
def slow_function(x):
print(f"Calculating {x}...")
return x * x # Долгая операция
# Пример использования
print(slow_function(4)) # Первый вызов: вычисляется
print(slow_function(4)) # Второй вызов: результат берется из кэша
print(slow_function(5)) # Новый вызов: вычисляется
📌 Как это работает:
@functools.lru_cache(maxsize=128)— это декоратор, который кеширует результаты функции с максимальным количеством кэшируемых результатов, равным 128. При достижении этого лимита, старые записи будут удаляться.- Логика: Первый вызов функции всегда выполняет вычисления, а последующие вызовы с теми же аргументами будут быстро возвращать результат, полученный при первом вычислении.
❗️ Это решение может значительно повысить производительность в случае с функциями, которые часто обрабатывают одни и те же данные или выполняют дорогие вычисления.
tags: #python #разработка #полезно



