延迟函数执行

Beginner

This tutorial is from open-source community. Access the source code

简介

在 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() 函数来延迟函数的执行,以及如何将毫秒转换为秒。