在使用Python 3中的循环时如何使用break、continue和pass语句

简介

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

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

先决条件

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

Break 语句

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

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

python 复制代码
number = 0

for number in range(10):
    if number == 5:
        break    # 在这里中断

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

print('Out of loop')

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

for 循环内部,有一个 if 语句,它表明如果变量 number 等于整数 5,那么循环将中断。

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

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

当我们运行这段代码时,输出将会是以下内容:

复制代码
Number is 0
Number is 1
Number is 2
Number is 3
Number is 4
Out of loop

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

break 语句会导致程序跳出循环。

Continue 语句

continue 语句让你有选择地跳过循环的一部分,当外部条件触发时,但继续完成循环的其余部分。也就是说,循环的当前迭代将被中断,但程序将返回到循环的顶部。

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

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

python 复制代码
number = 0

for number in range(10):
    if number == 5:
        continue    # 在这里继续

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

print('Out of loop')

使用 continue 语句而不是 break 语句的区别在于,当变量 number 被评估为等于 5 时,我们的代码将继续执行。让我们来看一下输出:

复制代码
Number 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 语句

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

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

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

python 复制代码
number = 0

for number in range(10):
    if number == 5:
        pass    # 在这里跳过

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

print('Out of loop')

if 条件语句之后出现的 pass 语句告诉程序继续运行循环,并忽略变量 number 在其迭代过程中被评估为等于 5 的事实。

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

复制代码
Number 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"。

相关推荐
IVEN_8 小时前
只会Python皮毛?深入理解这几点,轻松进阶全栈开发
python·全栈
Ray Liang10 小时前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
AI攻城狮10 小时前
如何给 AI Agent 做"断舍离":OpenClaw Session 自动清理实践
python
千寻girling10 小时前
一份不可多得的 《 Python 》语言教程
人工智能·后端·python
AI攻城狮13 小时前
用 Playwright 实现博客一键发布到稀土掘金
python·自动化运维
曲幽13 小时前
FastAPI分布式系统实战:拆解分布式系统中常见问题及解决方案
redis·python·fastapi·web·httpx·lock·asyncio
孟健1 天前
Karpathy 用 200 行纯 Python 从零实现 GPT:代码逐行解析
python
码路飞1 天前
写了个 AI 聊天页面,被 5 种流式格式折腾了一整天 😭
javascript·python
曲幽1 天前
FastAPI压力测试实战:Locust模拟真实用户并发及优化建议
python·fastapi·web·locust·asyncio·test·uvicorn·workers