Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中的if-pass和if-continue_Python_If Statement_Continue - Fatal编程技术网

python中的if-pass和if-continue

python中的if-pass和if-continue,python,if-statement,continue,Python,If Statement,Continue,我看到有人发布了下面的答案,以区分如果x:pass和如果x: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 ..

我看到有人发布了下面的答案,以区分
如果x:pass
如果x: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

a=0
时,
如果不是元素
的结果是什么?为什么在使用
continue
时不打印0?

continue
是一个控制流语句,用于转义迭代的最内层。当你的代码命中时

if not element
解释器跳过所有未验证为
true
的元素值。0就是这样一个值,当它没有遇到continue语句时,它会跳到循环的下一次迭代,因此会继续打印元素
1
的值,然后再打印
2


相反,pass语句只会跳过并返回到下一行代码执行。

使用
continue
for循环的下一次迭代进行pass
使用
pass
什么都不做
因此,当使用
continue
时,
print
将不会发生(因为代码将继续进行下一次迭代)
当使用
pass
时,它将和平地结束
(实际上什么也不做),并从以下位置打印

pass语句不执行任何操作。当语法上需要语句,但程序不需要操作时,可以使用它

在上面的代码片段中,当
element=0
时,元素
将计算为
true
。在python中,
0
与布尔值false相同。在第一个循环中,
pass
不执行任何操作,因此它将打印所有三个元素。在第二个循环中,continue将停止该迭代的其余循环的执行。所以print语句永远不会执行。所以它只打印1和2

if not element:
在这两个示例中,这将只匹配
0

pass
这没用。因此,将执行下一个命令,
print element

continue

这告诉Python停止这个for循环,并跳到循环的下一个循环。因此,
打印元素
将永远无法访问。相反,for循环将取下一个值,
1
,并从顶部开始。

Python中的
pass
continue
之间有一个根本的区别
pass
什么也不做,而
continue
跳到for循环的下一个迭代。如果不是0,则语句
的计算结果总是
True
,因此
pass
continue
语句都将执行
pass
将不执行任何操作并打印值,
continue
将跳过下一次迭代,忽略下面写入的
print
语句。

'0'因条件“if not element:”


如果元素为None、False、空字符串(“”)或0,则循环将继续进行下一次迭代。

它不限于
None
0
。如果元素为False,它将继续。if not 1是否表示False?那么为什么用continue打印1呢?此外,如果有人写“如果没有”,它也会继续不打印吗?谢谢。是的
if not 1
表示
False
。在这种情况下,条件将失败,执行将继续执行
print
语句。这就是在代码中打印1的原因<只有当
的值为任何假值,如无、假、空字符串(“”)或0时,否则
将为
。2)
if None
表示总是
False
所以如果我理解正确,
continue
是说“请在循环中输入下一个值”?并且仅当
if
语句为
False
时才“continue”?