Answers:
是的,他们做的事情完全不同。 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
pass
关键字不执行任何操作,因此仅在语法上需要缩进套件但不希望执行任何操作时才有用。一个常见的示例是,如果您想忽略某些异常,请使用except SomeException: pass
。还有许多其他用例。您完全不需要关键字,因为您可以使用其他任何不做任何事情的语句(例如0
,一个完全有效的语句,不起作用),但是拥有关键字可以使您成为更明确地表示不想做任何事情。
pass
?
是,有一点不同。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
它们之间是有区别的, 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
在那些例子中,没有。如果该语句不是循环中的最后一条语句,那么它们将产生非常不同的效果。
在for循环中通过和继续之间的区别:
那么为什么要传入python呢?
如果要创建一个空的类,方法或块。
例子:
class MyException(Exception):
pass
try:
1/0
except:
pass
在上面的示例中如果没有“ pass”,将抛出IndentationError。
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.
通过不执行任何操作。计算不受影响。但是继续返回到循环的顶部进行下一步计算。
这样考虑:
通过: Python只能在缩进上工作!与其他语言不同,没有空的花括号。
因此,如果您不希望在条件为真的情况下不执行任何操作,则除了pass之外没有其他选择。
继续:仅在循环的情况下才有用。如果对于一定范围的值,您不想在该特定遍次的条件为真之后执行循环的其余语句,则必须使用continue。
pass
if语句是True
并执行操作False
。这允许有效扫描多用途列表。
while True:; pass # Busy-wait for keyboard interrupt (Ctrl+C)
在python文档中,我的方式使我感到困惑,我没有发现天气晴朗,在这种情况下它的行为等同于继续进行,或者有其他意图。第一句话“ pass语句不执行任何操作”。描述了我的问题的所有答案,但以某种方式并没有引起我的注意。