Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 函数循环的连续条件检查_Python - Fatal编程技术网

Python 函数循环的连续条件检查

Python 函数循环的连续条件检查,python,Python,我有一个函数列表,每个函数的执行时间都很长。我想写一个执行所有这些函数的循环,但在每个函数之后,它会重新检查我设置的标记条件,以打破循环。如果需要,这是为了节省时间 例如,如果我有从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 fla

我有一个函数列表,每个函数的执行时间都很长。我想写一个执行所有这些函数的循环,但在每个函数之后,它会重新检查我设置的标记条件,以打破循环。如果需要,这是为了节省时间

例如,如果我有从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()
我之所以这样做,是因为我无法让中断函数在按下按钮后立即正常工作,从而中断代码的执行

谢谢你的帮助像这样的事

for f in (A, B, C, D):
    if flag == 0:
        f()
像这样的

for f in (A, B, C, D):
    if flag == 0:
        f()

如果函数没有参数,则可以创建函数列表,因为函数是第一类对象:-

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()

如果函数没有参数,则可以创建函数列表,因为函数是第一类对象:-

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()

函数是否需要重复运行,直到标志为真,或者每个函数只运行一次?函数是否需要重复运行,直到标志为真,或者每个函数只运行一次?使用此方法似乎在更改我放入其中的列表(参数)中的一些数据的值。不知道为什么。hspandher和joshromrock的组合对我来说很有效,出于某种原因,将其放入列表形式不起作用,但使用for循环和lambda是正确的。感谢使用此方法似乎在更改我放入其中的列表(参数)中某些数据的值。不知道为什么。hspandher和joshromrock的组合对我来说很有效,出于某种原因,将其放入列表形式不起作用,但使用for循环和lambda是正确的。谢谢