Для студентов МГТУ им. Н.Э.Баумана по предмету ИнформатикаДекораторы. КэшированиеДекораторы. Кэширование
2025-01-192025-01-19СтудИзба
Задача: Декораторы. Кэширование
Описание
Реализуйте декоратор @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
Характеристики решённой задачи
Предмет
Учебное заведение
Учебная пора
Программы
Просмотров
1
Качество
Идеальное компьютерное
Размер
759 b
Список файлов
7.3 Pro.txt

Vladelo