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

for element in some_list:
    if not element:
        pass

and

for element in some_list:
    if not element:
        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可以用于这样的场景:当你需要一些空函数、类或循环用于未来的实现,并且不需要执行任何代码时。 Continue用于以下情况:当在循环中满足某些条件时,需要跳过当前迭代并移动到下一个迭代。

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

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

可以这样考虑:

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

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

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

它们之间有区别,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

在这些例子中,没有。如果语句不是循环中的最后一个,那么它们的效果就非常不同。