PYTHON_JOB_INTERVIEW Telegram 1136
🐍 Python-совет: используй `functools.lru_cache` для ускорения "дорогих" функций

Если у тебя есть функция, результат которой зависит только от входных данных, — кешируй её! Это может ускорить программы в 10–1000 раз, особенно при рекурсии или повторяющихся запросах.

🔧 Пример:


from functools import lru_cache

@lru_cache(maxsize=128)
def fib(n):
if n < 2:
return n
return fib(n - 1) + fib(n - 2)

print(fib(100))


📌 Что делает lru_cache:
• сохраняет результаты вызова функции
• повторные вызовы с теми же аргументами → мгновенный возврат
maxsize ограничивает объём кэша (по принципу LRU — least recently used)

🔥 Без кеша fib(100) занимает минуты
С кешем — менее 1 секунды

🛠️ Применимо к:
• рекурсивным вычислениям
• функциям, вызывающим API
• любым дорогим операциям с неизменяемыми аргументами

🧠 Вывод: @lru_cache — это одна строка, которая превращает тяжёлую функцию в реактивную. Идеально для оптимизации без изменения логики.
👍73🔥1



tgoop.com/python_job_interview/1136
Create:
Last Update:

🐍 Python-совет: используй `functools.lru_cache` для ускорения "дорогих" функций

Если у тебя есть функция, результат которой зависит только от входных данных, — кешируй её! Это может ускорить программы в 10–1000 раз, особенно при рекурсии или повторяющихся запросах.

🔧 Пример:


from functools import lru_cache

@lru_cache(maxsize=128)
def fib(n):
if n < 2:
return n
return fib(n - 1) + fib(n - 2)

print(fib(100))


📌 Что делает lru_cache:
• сохраняет результаты вызова функции
• повторные вызовы с теми же аргументами → мгновенный возврат
maxsize ограничивает объём кэша (по принципу LRU — least recently used)

🔥 Без кеша fib(100) занимает минуты
С кешем — менее 1 секунды

🛠️ Применимо к:
• рекурсивным вычислениям
• функциям, вызывающим API
• любым дорогим операциям с неизменяемыми аргументами

🧠 Вывод: @lru_cache — это одна строка, которая превращает тяжёлую функцию в реактивную. Идеально для оптимизации без изменения логики.

BY Python вопросы с собеседований


Share with your friend now:
tgoop.com/python_job_interview/1136

View MORE
Open in Telegram


Telegram News

Date: |

Content is editable within two days of publishing The best encrypted messaging apps 6How to manage your Telegram channel? Healing through screaming therapy Just at this time, Bitcoin and the broader crypto market have dropped to new 2022 lows. The Bitcoin price has tanked 10 percent dropping to $20,000. On the other hand, the altcoin space is witnessing even more brutal correction. Bitcoin has dropped nearly 60 percent year-to-date and more than 70 percent since its all-time high in November 2021.
from us


Telegram Python вопросы с собеседований
FROM American