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

介绍

在Python中使用 for loopswhile loops可以有效地自动化和重复任务。

但是,有时,外部因素可能会影响程序的运行方式. 当发生这种情况时,您可能希望程序完全退出循环,在继续之前跳过循环的一部分,或者忽略外部因素。

<$>[info] 需要部署一个Python项目并让它快速生动吗?请查看 DigitalOcean App Platform并在几分钟内直接从GitHub部署一个Python项目。

前提条件

如果您没有设置编程环境,您可以参考本地编程环境的安装和安装指南(https://www.digitalocean.com/community/tutorial_series/how-to-install-and-set-up-a-local-programming-environment-for-python-3)或适用于您的操作系统(Ubuntu, CentOS, Debian 等)的编程环境(https://www.digitalocean.com/community/tutorial_collections/how-to-install-python-3-and-set-up-a-programming-environment)。

破声明

在Python中,声明为您提供了在触发外部条件时退出循环的机会,您会在循环声明下放置代码块内的声明,通常是在有条件的如果声明之后。

<$>[info] 信息: 要跟进本教程中的示例代码,请在本地系统上运行python3命令,打开Python交互壳。

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

1number = 0
2
3for number in range(10):
4    if number == 5:
5        break    # break here
6
7    print('Number is ' + str(number))
8
9print('Out of loop')

在这个小程序中,变量被初始化为0,然后一个for陈述构建循环,只要变量小于10。

for循环中,有一个if陈述,表示如果变量等同于整数5,那么循环将被打破。

在循环中还有一种print()语句,它会在for循环的每一次迭代中执行,直到循环破裂,因为它是在break语句之后。

要知道我们什么时候走出循环,我们已经在for循环之外包含了最终的print()陈述。

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

1[secondary_label Output]
2Number is 0
3Number is 1
4Number is 2
5Number is 3
6Number is 4
7Out of loop

这表明,一旦整数被评估为相当于5,循环就会被打破,因为该程序被告知在声中这样做。

打破声明会导致一个程序从循环中打破。

继续声明

继续语句为您提供了跳过循环中触发外部条件的部分的选项,但继续完成循环的其余部分,也就是说,循环的当前迭代将被打破,但程序将返回循环的顶部。

继续声明将在循环声明下方的代码块内,通常是在有条件的如果声明之后。

使用相同的for循环程序,如在上面的Break Statement(#break-statement)部分中,我们将使用一个继续陈述而不是一个break陈述:

1number = 0
2
3for number in range(10):
4    if number == 5:
5        continue    # continue here
6
7    print('Number is ' + str(number))
8
9print('Out of loop')

使用继续陈述而不是陈述的不同之处在于,当变量数字被评估为相当于5时,我们的代码将继续运行,尽管出现了中断:

 1[secondary_label Output]
 2Number is 0
 3Number is 1
 4Number is 2
 5Number is 3
 6Number is 4
 7Number is 6
 8Number is 7
 9Number is 8
10Number is 9
11Out of loop

在这里,‘数字是5’在输出中从未发生,但循环在离开循环之前继续打印数字6-10的线条。

您可以使用继续语句来避免深度嵌入的条件代码,或通过消除您想要拒绝的常见情况来优化循环。

继续声明导致程序跳过循环中出现的某些因素,然后继续通过循环的其余部分。

通过声明

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

与其他陈述一样,pass陈述将在循环陈述下方的代码块内,通常是在有条件的if陈述之后。

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

1number = 0
2
3for number in range(10):
4    if number == 5:
5        pass    # pass here
6
7    print('Number is ' + str(number))
8
9print('Out of loop')

如果条件声明之后发生的通过声明是告诉程序继续运行循环,忽略变量在其一次性中评估为相当于5的事实。

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

 1[secondary_label Output]
 2Number is 0
 3Number is 1
 4Number is 2
 5Number is 3
 6Number is 4
 7Number is 5
 8Number is 6
 9Number is 7
10Number is 8
11Number is 9
12Out of loop

通过在这个程序中使用pass声明,我们注意到该程序的运行完全如同在程序中没有任何条件声明一样。

通过语句可以创建最小的类,或者在开发新代码时发挥作用,并在弄清楚细节之前在算法层面上思考。

结论

Python中的打破继续通过语句将允许您在代码中更有效地使用循环和循环。

要更多地使用通过声明,您可以遵循我们的项目教程如何使用Python 3和Tweepy图书馆创建Twitterbot(https://andsky.com/tech/tutorials/how-to-create-a-twitterbot-with-python-3-and-the-tweepy-library)。

Published At
Categories with 技术
comments powered by Disqus