两个Python关键字continue和pass之间有什么显著的区别吗

for element in some_list:
    if not element:
        pass

and

for element in some_list:
    if not element:
        continue

我应该注意的?


当前回答

for循环中pass和continue的区别:

那么为什么要传入python呢?

如果你想创建一个空类,方法或块。

例子:

class MyException(Exception):
    pass


try:
   1/0
 except:
   pass

在上面的例子中没有'pass'将抛出IndentationError。

其他回答

是的,他们做的事情完全不同。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

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

Continue将跳转回循环的顶部。Pass将继续处理。

如果pass位于循环的末尾,则差异可以忽略不计,因为流无论如何都会返回到循环的顶部。

Pass可以用于这样的场景:当你需要一些空函数、类或循环用于未来的实现,并且不需要执行任何代码时。 Continue用于以下情况:当在循环中满足某些条件时,需要跳过当前迭代并移动到下一个迭代。

可以这样考虑:

通过:Python只处理缩进!不像其他语言,这里没有空花括号。

因此,如果你想在条件为真时什么都不做,除了pass没有其他选择。

Continue:这只在循环的情况下有用。在这种情况下,对于一定范围的值,您不想在特定传递的条件为真之后执行循环的剩余语句,那么您将必须使用continue。