两个Python关键字continue和pass之间有什么显著的区别吗
for element in some_list:
if not element:
pass
and
for element in some_list:
if not element:
continue
我应该注意的?
两个Python关键字continue和pass之间有什么显著的区别吗
for element in some_list:
if not element:
pass
and
for element in some_list:
if not element:
continue
我应该注意的?
当前回答
是的,他们做的事情完全不同。Pass只是什么都不做,而continue则继续进行下一次循环迭代。在您的示例中,如果在if之后添加另一条语句,区别就会很明显:在执行pass之后,将执行这条进一步的语句。在继续之后,它就不会了。
>>> 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是一个空语句,不执行任何操作。
查看python文档
Pass只是表示空什么都不做,如下所示:
for i in range(3):
if i == 1:
pass
print(i)
输出:
0
1
2
Continue跳过当前循环进入下一个循环,如下所示:
for i in range(3):
if i == 1:
continue
print(i)
输出:
0
2
是的,他们做的事情完全不同。Pass只是什么都不做,而continue则继续进行下一次循环迭代。在您的示例中,如果在if之后添加另一条语句,区别就会很明显:在执行pass之后,将执行这条进一步的语句。在继续之后,它就不会了。
>>> 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
for循环中pass和continue的区别:
那么为什么要传入python呢?
如果你想创建一个空类,方法或块。
例子:
class MyException(Exception):
pass
try:
1/0
except:
pass
在上面的例子中没有'pass'将抛出IndentationError。
在您的示例中,没有区别,因为两个语句都出现在循环的末尾。Pass只是一个占位符,因为它什么都不做(它将执行传递给下一个语句)。另一方面,Continue有一个明确的目的:它告诉循环继续,就像它刚刚重新启动一样。
for element in some_list:
if not element:
pass
print element
和
for element in some_list:
if not element:
continue
print element