请解释继续声明

时间:2016-12-29 22:20:05

标签: 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)

1 个答案:

答案 0 :(得分:5)

continue语句导致Python跳过循环的当前迭代的其余部分,并跳转到下一次迭代的开始。

请参阅this documentation page了解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时,将跳过循环结束时的print,并再次执行for以获得下一次迭代。注意偶数,"找到偶数"是打印的,但是"找到一个号码"是打印。这是因为continue跳过了循环体的其余部分。

您对示例的修改 - 插入else - 会使continue过时,因为print("Found a number", num)无论如何都不会被执行(它位于else })branch。

通过这种方式,您发现continue(以及break)通常是if...else的替代控制流机制。使用哪个取决于情况和风格偏好。