我有一个函数列表,每个函数都需要很长时间才能执行。我想编写一个执行所有这些函数的循环,但在每个函数之后,它会重新检查我为跳出循环而设置的标记条件。如果需要,这是为了节省时间。
例如,如果我有从 A 到 D 的函数,
while flag==0:
A()
B()
C()
D()
我可以这样写吗,在执行 A 之后,它会重新检查是否 flag==0。我尽量不这样写,
if flag==0:
A()
if flag==0:
B()
if flag==0:
C()
if flag==0:
D()
我这样做是因为我无法让中断函数正常工作以在按下按钮时立即中断执行代码。
感谢您的帮助
请您参考如下方法:
如果你的函数没有参数,你可以创建一个函数列表,因为函数是一流的对象:-
my_functions = [A, B, C, D]
for function in my_functions:
while flag == 0:
function()
如果函数需要一些参数,那么您需要专门使用 lambda
my_functions = [lambda : A(1, 2), lambda : B(3, 2) ...]
for function in my_functions:
while flag == 0:
function()
