我知道这可能是重复但我找不到它通过搜索。我想知道以下情况是否属实:
def foo(A):
for i in range(10):
if A[i] < 10:
return
A[i] = A[i] - 10
上述return
会发生什么?我知道它并没有结束这个功能,因为它在 for循环之后。是否与continue
相同?
答案 0 :(得分:0)
在函数中的哪个位置无关紧要,return
将退出它。唯一的例外是嵌套函数(def
内的def
)。
那么当A[i] < 10
为True
时,它会退出。
答案 1 :(得分:0)
不,return
跳出函数foo()
。如果您使用continue
替换它,则执行将继续i
循环中for
的下一个值。
答案 2 :(得分:0)
无论是在任何循环类型的内部还是外部,return
具有相同的功能,结束并返回周围函数的值(如果给定)。如果循环中有return
语句,假设要执行的条件为真,则整个函数将结束。
使用continue
语句,如果其执行条件为真,则跳过迭代代码的其余部分并移动到循环的下一次迭代,而不是退出或结束该函数。
如果您也需要此信息,break
语句是continue
和return
语句功能之间的中介。如果在任何循环中执行,它将结束整个循环,并继续执行给定函数/操作的其余代码。