Python 请解释一下这句话
请任何人解释一下这句话,我一直在尽我最大的努力把它分解成我的理解,但所有的努力都是徒劳的。这是我在python文档中找到的一个示例程序,我无法理解它Python 请解释一下这句话,python,python-3.x,continue,Python,Python 3.x,Continue,请任何人解释一下这句话,我一直在尽我最大的努力把它分解成我的理解,但所有的努力都是徒劳的。这是我在python文档中找到的一个示例程序,我无法理解它 for num in range(2, 10): if num % 2 == 0: print("Found an even number", num) continue else: print("Found a number", num) continue语句使Python跳过循环
for num in range(2, 10):
if num % 2 == 0:
print("Found an even number", num)
continue
else:
print("Found a number", num)
continue
语句使Python跳过循环当前迭代的其余部分,并跳到下一个迭代的开始
有关Python 3,请参见。该页上的原始示例为:
>>> for num in range(2, 10):
... if num % 2 == 0:
... print("Found an even number", num)
... continue
... print("Found a number", num)
Found an even number 2
Found a number 3
Found an even number 4
Found a number 5
Found an even number 6
Found a number 7
Found an even number 8
Found a number 9
当遇到continue
时,将跳过循环末尾的打印
,并再次执行for
以获得下一次迭代。请注意,对于偶数,如何打印“找到偶数”,但不打印“找到一个数”。这是因为continue
跳过了循环体的其余部分
您对示例的修改(插入
else
)会使continue
过时,因为打印(“找到一个数字”,num)
无论如何都不会执行(它位于else
分支中)
通过这种方式,您发现
continue
(以及break
)通常是if…else
的替代控制流机制。使用哪一种取决于情况和样式首选项。continue语句使Python跳过循环当前迭代的其余部分,并跳到下一个迭代的开始
有关Python 3,请参见。该页上的原始示例为:
>>> for num in range(2, 10):
... if num % 2 == 0:
... print("Found an even number", num)
... continue
... print("Found a number", num)
Found an even number 2
Found a number 3
Found an even number 4
Found a number 5
Found an even number 6
Found a number 7
Found an even number 8
Found a number 9
当遇到continue
时,将跳过循环末尾的打印
,并再次执行for
以获得下一次迭代。请注意,对于偶数,如何打印“找到偶数”,但不打印“找到一个数”。这是因为continue
跳过了循环体的其余部分
您对示例的修改(插入
else
)会使continue
过时,因为打印(“找到一个数字”,num)
无论如何都不会执行(它位于else
分支中)
通过这种方式,您发现
continue
(以及break
)通常是if…else
的替代控制流机制。使用哪一种取决于情况和样式首选项。它只会导致代码继续循环的下一次迭代。在您的示例中并不需要。您是否检查了Python文档?您将非常详细地找到continue
所做的事情,它只会导致代码在循环的下一次迭代中继续。在您的示例中并不需要。您是否检查了Python文档?您将非常详细地了解continue
做了什么,在跳到下一个迭代之后,它是否会使python返回到跳过的迭代iteration@Faruq:否。例如,在2的情况下,将调用continue
,并跳到下一个迭代,即3(由range
生成的下一个值)。再也回不到2了。哦,我想我现在明白了。对不起,我只是13@Faruq:没关系。我想Python不会花太多时间来解释continue
,因为它对C语言非常熟悉。在理解之前,使用简单的示例是有意义的。另一个想法是在调试器(pdb
)中跟踪此循环的执行,在跳到下一个迭代之后,它是否会使python返回到跳过的循环iteration@Faruq:否。例如,在2的情况下,将调用continue
,并跳到下一个迭代,即3(由range
生成的下一个值)。再也回不到2了。哦,我想我现在明白了。对不起,我只是13@Faruq:没关系。我想Python不会花太多时间来解释continue
,因为它对C语言非常熟悉。在理解之前,使用简单的示例是有意义的。另一个想法是在调试器中跟踪此循环的执行(pdb
)