首页 > 解决方案 > 不同函数调用之间的延迟

问题描述

我有一个关于在调用各种函数后添加延迟的问题。

假设我的功能如下:

def my_func1():
    print("Function 1")

def my_func2():
    print("Function 2")

def my_func3():
    print("Function 3")

目前我在调用它们之间添加了延迟,如下所示:

delay = 1
my_func1()
time.sleep(delay)
my_func2()
time.sleep(delay)
my_func3()
time.sleep(delay)

如您所见,我需要几次time.sleep,我想避免。使用装饰器也不是一种选择,因为我可能希望在调用不在组中的此函数之一时避免延迟。

你有什么技巧可以美化这个吗?

标签: python

解决方案


您可以定义如下内容:

def delay_it(delay, fn, *args, **kwargs):
    return_value = fn(*args, **kwargs)
    time.sleep(delay)

然后

a = delay_it(1, my_func1, "arg1", arg2="arg2")
b = delay_it(1, my_func2, "arg3")
...

推荐阅读