python中for循环中的`continue`和`pass`是否有区别?
这两个python关键字之间是否有任何显着的差异,如示例中的continue
和pass
for element in some_list: if not element: pass
和
for element in some_list: if not element: continue
我应该知道吗?
是的,他们做了完全不同的事情。 pass
只是不做任何事情,而continue
下一个循环迭代。 在你的例子中,如果你在if
后添加了另一个语句,那么区别就会变得明显:在执行完pass
,这个进一步的语句将被执行。 continue
之后,它不会。
>>> a = [0, 1, 2] >>> for element in a: ... if not element: ... pass ... print element ... 0 1 2 >>> for element in a: ... if not element: ... continue ... print element ... 1 2
是,有一点不同。 continue
强制循环在下一次迭代时启动,而pass
意味着“没有代码在这里执行”,并继续通过余数或循环体。
运行这些,看看不同之处:
for element in some_list: if not element: pass print 1 # will print after pass for element in some_list: if not element: continue print 1 # will not print after continue
在你的例子中,没有区别,因为这两个语句都出现在循环结尾。 pass
只是一个占位符,它不做任何事情(它将执行传递给下一个语句)。 另一方面, continue
有一个明确的目的:它告诉循环继续 ,就像它刚刚重新启动。
for element in some_list: if not element: pass print element
是非常不同的
for element in some_list: if not element: continue print element
continue
将跳回到循环的顶部。 pass
将继续处理。
如果循环的结尾是循环的结尾,那么差异是可以忽略的,因为stream量将会回到循环的顶部。
是,有一点不同。 Continue
实际上跳过当前循环的其余部分(返回到开头)。 Pass
是一个空话,什么也不做。
看到python文档
在这些例子中,没有。 如果声明不是循环中的最后一个,那么它们具有非常不同的效果。
他们之间有区别,
continue
跳过循环的当前迭代并执行下一次迭代。
pass
什么都不做。 这是一个空的语句占位符。
我宁愿给你一个例子,这将更好地澄清这一点。
>>> for element in some_list: ... if element == 1: ... print "Pass executed" ... pass ... print element ... 0 Pass executed 1 2 >>> for element in some_list: ... if element == 1: ... print "Continue executed" ... continue ... print element ... 0 Continue executed 2
x = [1,2,3,4] for i in x: if i==2: pass #Pass actually does nothing. It continues to execute statements below it. print "This statement is from pass." for i in x: if i==2: continue #Continue gets back to top of the loop.And statements below continue are executed. print "This statement is from continue."
输出是
>>> This statement is from pass.
再次,让我们用相同的代码进行小的改动。
x = [1,2,3,4] for i in x: if i==2: pass #Pass actually does nothing. It continues to execute statements below it. print "This statement is from pass." for i in x: if i==2: continue #Continue gets back to top of the loop.And statements below continue are executed. print "This statement is from continue."
输出是 –
>>> This statement is from pass. This statement is from pass. This statement is from pass. This statement is from pass. This statement is from continue. This statement is from continue. This statement is from continue.
通行证没有做任何事情。 计算不受影响。 但是,继续回到循环的顶部去处理下一个计算。