Что нужно сделать
В программировании иногда возникает ситуация, когда работу функции нужно замедлить. Типичный пример — функция, которая постоянно проверяет, изменились ли данные на веб-странице или её код.
Реализуйте декоратор, который перед выполнением декорируемой функции ждёт несколько секунд.
Что оценивается
- Результат вычислений корректен.
- Сообщения о процессе получения результата осмыслены и понятны для пользователя.
- Переменные, функции и собственные методы классов имеют значащие имена (не
a,b,c,d). - Классы и методы/функции имеют прописанную документацию.
- Есть аннотация типов для методов/функций и их аргументов (кроме
argsиkwargs). Если функция/метод ничего не возвращает, то используетсяNone. - Во всех декораторах используется
functools.wraps.
import time
def time_delay(func):
"""Декоратор создает задержку времени запуска функции."""
def inner(seconds: int = 3):
for _ in range(seconds * 3):
print('▓▓', end='')
time.sleep(0.33)
print('100%\n')
result = func()
return result
return inner
@time_delay
def testfunc():
print('Функция запущена!')
testfunc()