Введение
В Python иногда необходимо задержать выполнение функции на определенное время. Это может быть полезно в сценариях, когда мы хотим дождаться наступления определенного события перед выполнением функции. В этом испытании вам будет предложено создать функцию, которая задерживает выполнение другой функции на указанное время.
Отложенное выполнение функции
Напишите функцию delay(fn, ms, *args), которая принимает функцию fn, время в миллисекундах ms и любое количество аргументов args. Функция должна задержать выполнение fn на ms миллисекунд, а затем вызвать ее с предоставленными аргументами. Функция должна возвращать результат вызова fn.
Для задержки выполнения fn используйте функцию time.sleep(). Эта функция принимает количество секунд в качестве аргумента, поэтому вам нужно будет преобразовать ms в секунды перед передачей ее в time.sleep().
from time import sleep
def delay(fn, ms, *args):
sleep(ms / 1000)
return fn(*args)
delay(lambda x: print(x), 1000, 'later') ## выводит 'later' через одну секунду
Резюме
В этом испытании вам было предложено создать функцию, которая задерживает выполнение другой функции на указанное время. Вы узнали, как использовать функцию time.sleep() для задержки выполнения функции и как преобразовать миллисекунды в секунды.