在Python3中使用循环时如何使用Break、Continue和Pass语句

来自菜鸟教程
跳转至:导航、​搜索

介绍

在 Python 中使用 for 循环while 循环 可以让您以有效的方式自动化和重复任务。

但有时,外部因素可能会影响您的程序运行方式。 发生这种情况时,您可能希望程序完全退出循环,在继续之前跳过部分循环,或者忽略该外部因素。 您可以使用 breakcontinuepass 语句执行这些操作。

先决条件

您应该在您的计算机或服务器上安装 Python 3 并设置编程环境。 如果您没有设置编程环境,您可以参考本地编程环境或服务器上的编程环境适合您的操作的安装和设置指南系统(Ubuntu、CentOS、Debian 等)

中断语句

在 Python 中,break 语句为您提供了在触发外部条件时退出循环的机会。 您将 break 语句放在循环语句下的代码块中,通常在条件 if 语句之后。

Info: 要跟随本教程中的示例代码,请通过运行 python3 命令在本地系统上打开 Python 交互式 shell。 然后,您可以通过在 >>> 提示符后添加示例来复制、粘贴或编辑示例。


让我们看一个在 for 循环中使用 break 语句的示例:

number = 0

for number in range(10):
    if number == 5:
        break    # break here

    print('Number is ' + str(number))

print('Out of loop')

在这个小程序中,变量number初始化为0。 然后只要变量 number 小于 10,for 语句就会构造循环。

for 循环中,有一个 if 语句表示 if 变量 number 等价于整数 5,然后 循环将中断。

循环内还有一个 print() 语句,它将在 for 循环的每次迭代中执行,直到循环中断,因为它位于 break 语句之后。

为了知道我们何时退出循环,我们在 for 循环之外包含了一个最终的 print() 语句。

当我们运行此代码时,我们的输出将如下所示:

OutputNumber is 0
Number is 1
Number is 2
Number is 3
Number is 4
Out of loop

这表明一旦整数 number 被评估为等于 5,循环就会中断,因为程序被告知使用 break 语句这样做。

break 语句使程序跳出循环。

继续声明

continue 语句使您可以选择跳过触发外部条件的循环部分,但继续完成循环的其余部分。 即循环的当前迭代将被打乱,但程序将返回到循环的顶部。

continue 语句将在循环语句下的代码块内,通常在条件 if 语句之后。

使用与上面 Break Statement 部分中相同的 for 循环程序,我们将使用 continue 语句而不是 break 语句:

number = 0

for number in range(10):
    if number == 5:
        continue    # continue here

    print('Number is ' + str(number))

print('Out of loop')

使用 continue 语句而不是 break 语句的区别在于,当变量 number 被评估为等于 5 时,尽管中断,我们的代码仍将继续运行。 让我们回顾一下我们的输出:

OutputNumber is 0
Number is 1
Number is 2
Number is 3
Number is 4
Number is 6
Number is 7
Number is 8
Number is 9
Out of loop

在这里,Number is 5 永远不会出现在输出中,但循环会在该点之后继续打印数字 6-10 的行,然后再离开循环。

您可以使用 continue 语句来避免深度嵌套的条件代码,或者通过消除您想要拒绝的频繁发生的情况来优化循环。

continue 语句使程序跳过循环中出现的某些因素,然后继续循环的其余部分。

通过声明

当触发外部条件时,pass 语句允许您处理条件而不会以任何方式影响循环; 除非出现 break 或其他语句,否则将继续读取所有代码。

与其他语句一样,pass 语句将位于循环语句下的代码块内,通常在条件 if 语句之后。

使用与上面相同的代码块,让我们将 breakcontinue 语句替换为 pass 语句:

number = 0

for number in range(10):
    if number == 5:
        pass    # pass here

    print('Number is ' + str(number))

print('Out of loop')

if 条件语句之后发生的 pass 语句告诉程序继续运行循环并忽略变量 number 在其中之一期间计算为等于 5 的事实它的迭代。

我们将运行程序并考虑输出:

OutputNumber is 0
Number is 1
Number is 2
Number is 3
Number is 4
Number is 5
Number is 6
Number is 7
Number is 8
Number is 9
Out of loop

通过在这个程序中使用 pass 语句,我们注意到程序的运行与在程序中没有条件语句时完全一样。 pass 语句告诉程序忽略该条件并继续照常运行程序。

pass 语句可以创建最小的类,或者在处理新代码并在敲定细节之前在算法级别上思考时充当占位符。

结论

Python 中的 breakcontinuepass 语句将允许您在代码中更有效地使用 for 循环和 while 循环.

要更多地使用 breakpass 语句,您可以按照我们的项目教程“如何使用 Python 3 和 Tweepy 库 创建 Twitterbot”。