两个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用于跳过当前迭代,并进入下一个迭代。
你可能会问,如果不需要,为什么要使用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中不能只编写空的条件、循环或函数。
其他回答
是的,这是有区别的。Continue实际上跳过了当前循环迭代的其余部分(返回到开始)。Pass是一个空语句,不执行任何操作。
查看python文档
是的,这是有区别的。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
在您的示例中,没有区别,因为两个语句都出现在循环的末尾。Pass只是一个占位符,因为它什么都不做(它将执行传递给下一个语句)。另一方面,Continue有一个明确的目的:它告诉循环继续,就像它刚刚重新启动一样。
for element in some_list:
if not element:
pass
print element
和
for element in some_list:
if not element:
continue
print element
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用于跳过当前迭代,并进入下一个迭代。
你可能会问,如果不需要,为什么要使用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中不能只编写空的条件、循环或函数。