Python:如何在函数调用周围动态放置循环?

Python:如何在函数调用周围动态放置循环?,python,function,loops,if-statement,continue,Python,Function,Loops,If Statement,Continue,我想说的是: if condition: for variable in list: function_to_call(variable) else: variable = "some value" function_to_call(variable) 如果我的函数中没有一些break和continue语句,这可能会非常好地工作。。。 结果,我得到了以下错误:SyntaxError:“continue”在循环中不正确,因为尽管事实上在函数周围有一个循环,

我想说的是:

if condition:
    for variable in list:
        function_to_call(variable)
else:
    variable = "some value"
    function_to_call(variable)
如果我的函数中没有一些break和continue语句,这可能会非常好地工作。。。 结果,我得到了以下错误:SyntaxError:“continue”在循环中不正确,因为尽管事实上在函数周围有一个循环,我正在用一些变量对其进行检查,所以当函数周围没有循环时,continue不会被执行。它仍然不起作用。 我还尝试将continue和break语句作为字符串放在exec中,但没有遇到相同的错误

我怎样才能解决这个问题


提前谢谢

注释中未提及的另一个解决方案是让函数返回False,而不是中断。这样,您可以在方便的时候忽略返回值,而在其他情况下使用它

然后,您可以修改代码,使其看起来像这样:

如果条件: 对于列表中的变量: 如果不是函数_to _callvariable: 打破 其他: 变量=某个值 函数到调用变量
但是,这可能会导致效率下降,因为您正在检查循环每次迭代的结果。

您能告诉我们函数的调用是什么样子的吗?您是否试图在函数内部使用break?因为您不能这样做。如果条件为else[某个值],则将函数\u改为\u调用,以便它始终采用值列表。或者,对于条件为else[某个值]的列表中的变量:函数\u改为\u调用变量。函数并不像您调用它的位置那样内联,因此,它不能修改从中调用它的循环的控制流。相反,您可能希望根据函数的结果返回不同的值。然后,调用方可以检查返回值并使用它来控制循环。这在您可以编写表示特定条件的函数的情况下尤其有用,例如在处理命令列表的程序中的is_quit_命令。此外,根据特定的用例,函数引发调用方可以捕获的异常可能更有意义。@jirassimok引发异常实际上是最有效的,如果我没记错的话,捕获异常没有开销。只要没有引发异常,使用try/except就没有开销,因此在异常情况下使用try/except是没有理由犹豫的,但对于预期同时使用这两个值的情况,try/except并不理想。