Задача: Декораторы. Кэширование
Описание
Реализуйте декоратор @cache_results, который будет кэшировать результаты функции на основе её аргументов. Если функция вызывается с теми же аргументами повторно, декоратор должен возвращать результат из кэша, а не выполнять функцию снова.
Требования:
При первом вызове функции с определенными аргументами, декоратор должен выполнить функцию, сохранить результат в кэше и вывести сообщение
Выполнено за {кол-во секунд} секунды.При повторном вызове функции с теми же аргументами, декоратор должен вернуть результат из кэша и вывести сообщение
Результат взят из кэша. (Функция должна выполниться моментально, здесь замерять время не нужно)
В этой задаче работаем с функциями, принимающими любое количество аргументов.
Пример использования декоратора
@cache_resultsdef slow_function(x):
time.sleep(2) # Симулируем долгую обработку
return x * 2
result = slow_function(25)
# Вывод: Выполнено за 2 секунды
print(result) # Вывод: 625
result2 = slow_function(25)
# Вывод: Результат взят из кэша
print(result2) # Вывод: 625
Характеристики решённой задачи
Список файлов

МГТУ им. Н.Э.Баумана
vladelo

















