像示例中那样,两个 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
continue
将跳回循环顶部。 pass
将继续处理。
如果 pass 位于循环末尾,则差异可以忽略不计,因为无论如何流程都会返回循环顶部。
它们之间有一个区别,
continue
跳过循环的当前迭代并执行下一次迭代。pass
不执行任何操作。这是一个空语句占位符。>>> some_list = [0, 1, 2]
... 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
在您的示例中,不会有任何区别,因为这两个语句都出现在循环的末尾。
pass
只是一个占位符,因为它不执行任何操作(它将执行传递到下一个语句)。另一方面,continue
有明确的目的:它告诉循环继续,就像刚刚重新启动一样。
for element in some_list:
if not element:
pass
print element
与
有很大不同
for element in some_list:
if not element:
continue
print element
不是循环中的最后一个,那么它们具有非常不同的效果。
通过:Python 纯粹靠缩进工作!与其他语言不同,没有空花括号。
因此,如果您想在条件为真时什么也不做,那么除了通过之外别无选择。
继续:这仅在循环的情况下有用。如果对于一系列值,您不想在该特定传递的条件为真后执行循环的其余语句,则必须使用 continue。
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.
Pass 不执行任何操作。计算不受影响。但 continue 返回循环顶部以进行下一次计算。
pass
只是继续循环或条件。它没有任何作用。
continue
,但用于跳过当前迭代,并进入下一次迭代。您可能会问,如果不需要,为什么还要使用
pass
?考虑以下情况:
text = "I am a coder."
if text == "I am not a coder.":
print("Programming is interesting! You should try it out!")
elif text == "I am a coder.":
pass
pass
只是一个语法占位符,用于填充一些空间。如果您不想在满足特定条件时执行任何操作,可以使用
pass
作为占位符。你不能只在 Python 中编写空条件、循环或函数。
pass只是表示emptiness什么也不做,如下所示:
for i in range(3):
if i == 1:
pass
print(i)
输出:
0
1
2
for i in range(3):
if i == 1:
continue
print(i)
输出:
0
2
pass
可以用于当您需要一些空函数、类或循环以供将来实现,并且不需要执行任何代码的场景。
continue
用于当循环内满足某些条件并且需要跳过当前迭代并移至下一个迭代时的场景。