Auf*_*ind 245 python syntax continue
两个python关键字之间是否有任何显着差异continue,pass如示例中所示
for element in some_list:
if not element:
pass
Run Code Online (Sandbox Code Playgroud)
和
for element in some_list:
if not element:
continue
Run Code Online (Sandbox Code Playgroud)
我应该知道吗?
Sve*_*ach 357
是的,他们完全不同的事情. pass什么都不做,continue继续下一个循环迭代.在您的示例中,如果您if在执行后添加另一个语句,则差异将变得明显:执行后pass,将执行此进一步的语句.之后continue,它不会.
>>> 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
Run Code Online (Sandbox Code Playgroud)
小智 65
是,有一点不同.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
Run Code Online (Sandbox Code Playgroud)
Job*_*ews 13
for 循环中 pass 和 continue 的区别:
那么为什么要传入python呢?
如果你想创建一个空的类、方法或块。
例子:
class MyException(Exception):
pass
try:
1/0
except:
pass
Run Code Online (Sandbox Code Playgroud)
在上面的例子中没有 'pass' 会抛出 IndentationError。
mul*_*ces 10
在您的示例中,没有区别,因为两个语句都出现在循环的末尾.pass它只是一个占位符,因为它什么都不做(它将执行传递给下一个语句).continue另一方面,它有一个明确的目的:它告诉循环继续,好像它刚刚重新启动一样.
for element in some_list:
if not element:
pass
print element
Run Code Online (Sandbox Code Playgroud)
与...非常不同
for element in some_list:
if not element:
continue
print element
Run Code Online (Sandbox Code Playgroud)
它们之间是有区别的, continue跳过循环的当前迭代并执行下一个迭代。pass什么也没做。这是一个空语句占位符。
我想给你一个例子,这将更好地阐明这一点。
>>> 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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
134791 次 |
| 最近记录: |