for循环后返回和python中的continue一样吗?

时间:2015-12-19 03:46:34

标签: python

我知道这可能是重复但我找不到它通过搜索。我想知道以下情况是否属实:

def foo(A):
    for i in range(10):
        if A[i] < 10:
            return
        A[i] = A[i] - 10 

上述return会发生什么?我知道它并没有结束这个功能,因为它在 for循环之后。是否与continue相同?

3 个答案:

答案 0 :(得分:0)

在函数中的哪个位置无关紧要,return将退出它。唯一的例外是嵌套函数(def内的def)。

那么当A[i] < 10True时,它会退出。

答案 1 :(得分:0)

不,return跳出函数foo()。如果您使用continue替换它,则执行将继续i循环中for的下一个值。

答案 2 :(得分:0)

无论是在任何循环类型的内部还是外部,return具有相同的功能,结束并返回周围函数的值(如果给定)。如果循环中有return语句,假设要执行的条件为真,则整个函数将结束。

使用continue语句,如果其执行条件为真,则跳过迭代代码的其余部分并移动到循环的下一次迭代,而不是退出或结束该函数。

如果您也需要此信息,break语句是continuereturn语句功能之间的中介。如果在任何循环中执行,它将结束整个循环,并继续执行给定函数/操作的其余代码。