python中pass和continue之间的区别是什么

use*_*997 7 python for-loop

我的测试表明,无论pass并且continue可以等价用于构建一个空for测试的目的-loop.它们之间有什么区别吗?

pax*_*blo 7

pass关键字是一个无操作关键字.它什么都没做.它通常用作代码的占位符,稍后将添加:

if response == "yes":
    pass  # process "yes" case
Run Code Online (Sandbox Code Playgroud)

continue关键字,在另一方面,用于重新启动在控制点,如与一个循环:

for i in range(10):
    if i % 2 == 0:
        continue
    print i
Run Code Online (Sandbox Code Playgroud)

该循环将仅输出奇数,因为continue返回循环控制语句(for)以进行i偶数迭代.

for循环而言,你是正确的,它们在功能上是相同的.你可以使用以下任何一种:

for i in range(10):
    pass
for i in range(10):
    continue
Run Code Online (Sandbox Code Playgroud)

  • @The6thSense 不,如果您有一个空的 `for` 循环,其中只有一个注释,Python 会感到困惑,因为它会在循环中查找代码。这就是为什么你需要使用 `pass` 关键字,即使它什么都不做。尝试运行它并查看错误:```for i in range(10): # some comment```(您将看到 `IndentationError: expected an indented block`)。然后尝试用`pass`替换评论,它不会再抛出错误 (2认同)