百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Python自动化办公应用学习笔记19—— 循环控制:break 和 continue

itomcoil 2025-08-02 18:49 1 浏览

在 Python 的循环结构中,break和continue是两个特殊的保留字,主要用于改变循环的执行流程。

1. 定义与核心作用

  • break:立即终止当前循环,跳出整个循环体(仅限最内层循环)
  • continue:跳过本次循环剩余代码,直接进入下一次循环迭代

关键区别:break 结束整个循环,continue 仅结束当前轮次


2. 语法格式

1) break 语句

其形式很简单,就是break这一单独的语句,一般是在条件判断语句(像if)的内部使用,一旦满足特定条件,就会立即跳出循环。

2) continue 语句

同样,continue也是单独的一个语句,通常也出现在条件判断语句里。当满足特定条件时,会跳过本次循环后续的代码,直接开始下一次循环。

# break 用法

for item in sequence:

if condition:

break # 循环立即终止


# continue 用法

for item in sequence:

if condition:

continue # 跳过后续代码,进入下一轮循环

print(item) # 被跳过的代码

3. 适用场景对比

1) break 的适用场景

o 当你在循环里找到了目标数据,不需要再继续执行循环时。

o 要避免无限循环,比如在递归循环中,当达到某个终止条件时。

2) continue 的适用场景

o 需要跳过某些不符合要求的数据记录,例如在数据清洗时。

o 防止代码执行到特定部分,不过又要让循环继续运行。


4. 使用技巧

1) break 的使用技巧

o 它只能跳出当前所在的这一层循环。要是想跳出多层循环,可以借助设置标志变量或者抛出异常的方式。

o 可以把复杂的条件判断转换为break语句,这样能让代码逻辑更清晰。

2) continue 的使用技巧

o 要防止在嵌套循环里错误使用continue,不然可能会让代码逻辑变得复杂。

o 可以用条件表达式替代continue,不过使用continue能让代码更易读。

5.实例

1) break 实战:查找首个 Excel 文件
在一个文件列表里查找第一个 Excel 文件,找到后就停止搜索。

files = ["报告.txt", "数据.xlsx", "总结.docx", "统计.xlsx"]

for file in files:

if file.endswith(".xlsx"):

print(f"找到第一个Excel文件: {file}")

break

代码解释:在这个循环里,当遍历到 “数据.xlsx” 时,if条件判断为真,执行break语句,马上结束循环。所以,虽然列表后面还有 “统计.xlsx”,但不会再继续遍历了。


2) continue 实战:处理图片文件
对文件夹中的所有图片文件进行处理,跳过非图片文件。

all_files = ["photo1.jpg", "报告.doc", "photo2.png", "数据.xlsx"]

for file in all_files:

if not file.endswith((".jpg", ".png")):

continue

print(f"正在压缩图片: {file}")

# 这里可以添加图片处理代码,例如:

# compress_image(file)

代码解释:当遍历到 “报告.doc” 和 “数据.xlsx” 时,if条件判断为真,执行continue语句,跳过print和图片处理代码,直接进入下一次循环。只有图片文件才会被处理。


6.循环的 else 扩展用法

在 Python 里,for和while循环都可以带有else子句。这个子句会在循环正常结束(也就是没有因为break或者return而提前退出)时执行。

# 查找文件的完整示例

files = ["报告.txt", "数据.xlsx", "总结.docx"]

for file in files:

if file.endswith(".xlsx"):

print(f"找到Excel文件: {file}")

break

else:

print("未找到Excel文件")

代码解释:如果在循环中找到了 Excel 文件,执行break跳出循环,else子句就不会执行。要是循环完整地执行完,都没有找到 Excel 文件,就会执行else子句。

7.对比总结

特性

break

continue

循环终止

完全终止当前循环

只跳过本次循环

后续执行

执行循环之后的代码

继续执行下一次循环

对 else 的影响

不执行 else 子句

不影响 else 子句的执行

8、注意事项

1) break 的注意事项

o 要避免在复杂的嵌套循环里过度使用break,不然会降低代码的可读性。

o 在while True这样的无限循环中,break是必不可少的退出条件。

2) continue 的注意事项

o 过度使用continue可能会让代码的逻辑变得复杂,所以要适度使用。

o 在while循环里使用continue时,要注意更新循环变量,防止出现无限循环。

相关推荐

C|经典实例理解算法之顺推、逆推、迭代、递归思想

递推算法可以不断利用已有的信息推导(迭代)出新的信息,在日常应用中有如下两种递推算法。①顺推法:从已知条件出发,逐步推算出要解决问题的方法。例如斐波那契数列就可以通过顺推法不断递推算出新的数据。②...

[西门子PLC] 博途编程之递归算法

首先跟大伙讲一讲哈,递归算法瞅着是挺优雅挺不错的,可实际上没啥大用,在真正的项目里能不用就别用递归,为啥呢?因为用了递归可能会惹出大麻烦,后面会给大伙举例讲讲原因。那啥叫递归呢?从名字上就能看出来,就...

SQL 也能递归?一文搞懂 Recursive CTE的魔力

很多人以为递归(Recursive)只属于编程语言,和SQL没什么关系。但其实SQL中也能实现递归操作,特别是在处理树结构、路径查找时,WITHRECURSIVE展现出强大威力。本文将带你...

10张动图学会python循环与递归

  一图胜千言!  循环难学?十张动图GIFS有助于认识循环、递归、二分检索等概念的具体运行情况。  本文代码实例以Python语言编写。  一、循环  GIF1:最简单的while循环  GIF...

C语言学习之-----(十三) 函数递归

(十三)函数递归一、栈在说函数递归的时候,顺便说一下栈的概念。栈是一个后进先出的压入(push)和弹出(pop)式数据结构。在程序运行时,系统每次向栈中压入一个对象,然后栈指针向下移动一个位置。当系...

Python自动化办公应用学习笔记19—— 循环控制:break 和 continue

在Python的循环结构中,break和continue是两个特殊的保留字,主要用于改变循环的执行流程。1.定义与核心作用break:立即终止当前循环,跳出整个循环体(仅限最内层循环)conti...

循环与递归的那些事
循环与递归的那些事

大家好,我是贠学文,点击右上方“关注”,每天为您分享java程序员需要掌握的知识点干货。在任何的编程语言中,循环和递归永远都是一个避不开的话题,因为在某些特定的场景下,用递归确实要比循环简单得多,比如说遍历文件夹目录等等,但是,递归也有下面...

2025-08-02 18:49 itomcoil

漫谈递归、迭代、循环——人理解迭代,神理解递归

后续计划好几天没有更新了,没有偷懒。随着源码的阅读,学习到了字典和集合的底层实现。字典这种数据结构的搜索效率很高,底层结构采用了效率优于红黑树的哈希表。红黑树是一种平衡二叉树,C++中的map和lin...

Excel递归与循环——货物分箱问题

递归指通过函数自身调用实现复杂计算,在Excel中多通过支持递归的函数(如LAMBDA)实现。第一,简化复杂逻辑表达:对于有明确递推关系的问题,递归能将多层嵌套的逻辑转化为简洁的自我调用形式,比手...

MongoDB入门之索引

索引就像书的目录,如果查找某内容在没有目录的帮助下,只能全篇查找翻阅,这导致效率非常的低下;如果在借助目录情况下,就能很快的定位具体内容所在区域,效率会直线提高。索引简介首先打开命令行,输入mongo...

MongoDB之集合管理一

最近的几篇博客都是关于MongoDB的,虽然个人感觉也没多少知识点,但没想到竟然有转载我的博客的,不管有经过我同意还是没经过我同意,说明写的应该还是有价值的,这也是我写博客的一个动力之一吧。上一博客学...

SpringBoot集成扩展-访问NoSQL数据库之Redis和MongoDB!

与关系型数据库一样,SpringBoot也提供了对NoSQL数据库的集成扩展,如对Redis和MongoDB等数据库的操作。通过默认配置即可使用RedisTemplate和MongoTemplate...

揭秘你不会画“信息结构图”的本质

编辑导语:产品信息结构图有助于清晰地展示产品信息,一定程度上可以为后台上传数据提供依据,但不少人可能觉得产品信息结构图很难,这可能是对数据库表结构不理解等因素导致的。本篇文章里,作者就产品信息结构图的...

MongoDB导入导出备份数据

要提前安装mongodb-database-tools参考:centos离线安装mongodb-database-tools导出数据常用的导出有两种:mongodump和mongoexport,两种方...

mongodb导入导出及备份

-------------------MongoDB数据导入与导出-------------------1、导出工具:mongoexport1、概念:mongoDB中的mongoexport...