文章目录
- 前言
- 一、循环到底是干嘛的?先把逻辑搞明白
- 二、for循环:Python里最常用的“批量工具”
- 2.1 for循环基础语法
- 2.2 最简单的for循环示例
- 2.3 遍历字符串:for循环也能拆文字
- 2.4 遍历字典:键、值、键值对全拿下
- 2.5 for循环嵌套:处理多维数据
- 三、while循环:靠条件驱动的“循环选手”
- 3.1 while循环基础语法
- 3.2 基础while循环示例
- 3.3 while循环的经典场景:用户输入校验
- 3.4 死循环:while True的用法
- 四、break:循环的“紧急刹车”
- 4.1 break在for循环中的使用
- 4.2 break在while循环中的使用
- 4.3 嵌套循环中的break:只跳当前层
- 五、continue:循环的“跳过指令”
- 5.1 continue在for循环中的使用
- 5.2 continue在while循环中的使用
- 5.3 continue实战场景:过滤无效数据
- 六、for vs while:到底该用哪个?
- 七、循环常见坑点:2026年新手必避的雷
- 7.1 while循环忘记更新条件,导致死循环
- 7.2 缩进错误导致循环逻辑混乱
- 7.3 break和continue用反
- 7.4 循环嵌套层级过多
- 7.5 循环内重复创建对象
- 八、循环在2026 AI开发中的实际应用
- 九、总结
P.S. 目前国内还是很缺AI人才的,希望更多人能真正加入到AI行业,共同促进行业进步,增强我国的AI竞争力。想要系统学习AI知识的朋友可以看看我精心打磨的教程 http://blog.csdn.net/jiangjunshow,教程通俗易懂,高中生都能看懂,还有各种段子风趣幽默,从深度学习基础原理到各领域实战应用都有讲解,我22年的AI积累全在里面了。注意,教程仅限真正想入门AI的朋友,否则看看零散的博文就够了。
前言
在Python编程乃至整个AI开发、数据处理、自动化脚本编写的过程中,循环都是绕不开的基础核心。不管是遍历数据集、批量处理图片、训练模型时的迭代更新,还是写一个简单的批量计算脚本,都离不开for循环与while循环。很多刚入门的朋友觉得循环简单,随便写写就能跑,但真正写工程代码时才发现:死循环跳不出来、遍历逻辑混乱、循环嵌套看不懂、break和continue用反了导致程序逻辑全乱,这些问题比比皆是。
2026年的Python生态已经非常成熟,从基础语法到AI工程落地,循环依旧是最底层、最通用的逻辑控制方式。不管是用PyTorch训练模型,还是用Pandas处理百万行数据,循环的写法和逻辑思维都是通用的。今天这篇文章,我就用最接地气、带点段子的方式,把Python里的for、while、break、continue一次性讲透,从基础语法到实战坑点,再到AI场景下的应用,全部安排到位,保证小白也能彻底吃透。
一、循环到底是干嘛的?先把逻辑搞明白
在正式写代码之前,咱们先别着急敲键盘,先搞懂一个核心问题:循环存在的意义是什么?
举个生活里最通俗的例子:
你要给班级里50个同学每人发一颗糖。
- 不使用循环:你喊一个名字,递一颗糖,重复50次手动操作,繁琐又容易漏人。
- 使用循环:设定好“从第1个到第50个同学”的范围,程序自动重复“发糖”这个动作,直到所有人都发完。
放到编程里就是:把一段需要重复执行的代码,交给循环自动处理,省去手动重复编写的麻烦。
在Python里,循环主要分两种:
- for循环:适合已知循环次数、遍历序列(列表、字符串、字典、数据集等)的场景;
- while循环:适合不知道循环次数,只知道循环终止条件的场景。
再搭配break和continue两个控制语句,就能实现精准控制循环的开始、暂停、跳过和结束,这四个知识点组合起来,就是Python循环的全部核心。
二、for循环:Python里最常用的“批量工具”
for循环是Python开发者使用频率最高的循环,没有之一。尤其是在AI数据处理、爬虫、文件批量读取中,for循环几乎是标配。
2.1 for循环基础语法
for循环的核心逻辑是:遍历可迭代对象,逐个取出元素,执行循环体代码。
基础语法格式:
for临时变量in可迭代对象:循环体代码(需要重复执行的内容)这里的可迭代对象,简单理解就是能一个一个往外拿东西的容器,比如列表、元组、字符串、range生成的数字序列、甚至2026年常用的数据集迭代器、PyTorch的数据加载器等。
2.2 最简单的for循环示例
先看一个最基础的例子,遍历数字序列:
# 循环输出1到5的数字foriinrange(1,6):print(f"当前数字:{i}")执行结果:
当前数字:1 当前数字:2 当前数字:3 当前数字:4 当前数字:5这里的range(1,6)是Python内置函数,作用是生成1到5的整数序列(左闭右开,不包含结束值),这也是2026年Python基础编程中最常用的生成固定次数循环的方式。
再举一个遍历列表的例子,模拟批量处理AI数据集:
# 模拟一批图像数据文件名image_files=["img1.jpg","img2.jpg","img3.jpg","img4.jpg"]# 批量遍历处理每张图片forfileinimage_files:print(f"正在处理图片:{file}")执行结果:
正在处理图片:img1.jpg 正在处理图片:img2.jpg 正在处理图片:img3.jpg 正在处理图片:img4.jpg这种写法在AI图像预处理中非常常见,批量读取图片、归一化、数据增强,都是用for循环遍历实现的。
2.3 遍历字符串:for循环也能拆文字
字符串本质上也是可迭代对象,for循环可以逐个取出字符:
text="AI2026"forcharintext:print(f"当前字符:{char}")执行结果:
当前字符:A 当前字符:I 当前字符:2 当前字符:0 当前字符:2 当前字符:62.4 遍历字典:键、值、键值对全拿下
在2026年的Python开发中,字典是存储配置信息、模型参数、API返回数据的常用容器,for循环遍历字典有三种方式:
- 遍历字典的键;
- 遍历字典的值;
- 遍历键值对。
示例代码:
# 模拟AI模型配置参数model_config={"学习率":0.001,"批次大小":32,"训练轮次":100,"优化器":"Adam"}# 遍历键print("===遍历键===")forkeyinmodel_config:print(key)# 遍历值print("\n===遍历值===")forvalueinmodel_config.values():print(value)# 遍历键值对print("\n===遍历键值对===")forkey,valueinmodel_config.items():print(f"{key}:{value}")这种写法在读取模型超参数、处理接口返回的JSON数据时,几乎每天都会用到。
2.5 for循环嵌套:处理多维数据
AI领域中经常遇到二维、三维数据,比如二维数组、图像像素矩阵,这时候就需要嵌套for循环。
举个简单的二维列表示例:
# 模拟3x3的图像像素矩阵pixel_matrix=[[128,255,0],[64,192,32],[0,128,255]]# 嵌套循环遍历每个像素值forrowinpixel_matrix:forpixelinrow:print(f"像素值:{pixel}",end="\t")print()嵌套循环的逻辑就是:外层循环走一次,内层循环跑全部。就像看表格,先看第一行,再逐个看这一行的每一列,看完一行再看下一行。
三、while循环:靠条件驱动的“循环选手”
while循环和for循环不同,它不依赖可迭代对象,只看一个条件:条件为True,就执行循环体;条件为False,就结束循环。
3.1 while循环基础语法
语法格式非常简单:
while循环条件:循环体代码核心逻辑:先判断条件,满足就执行,执行完再判断,直到条件不满足。
3.2 基础while循环示例
比如循环输出1到5,用while实现:
# 初始化计数器i=1# 循环条件:i小于等于5whilei<=5:print(f"当前数字:{i}")# 计数器自增,必须写,否则死循环i+=1这里有一个关键点:必须在循环体内修改循环条件,否则会陷入死循环。比如上面如果删掉i += 1,i永远是1,条件永远成立,程序就会一直打印,停不下来。
3.3 while循环的经典场景:用户输入校验
在2026年的Python交互程序、AI工具开发中,while循环常用来做用户输入校验,直到用户输入正确内容才退出:
# 模拟AI模型启动密码校验password=""whilepassword!="AI2026":password=input("请输入启动密码:")print("密码正确,模型启动成功!")这个场景下,我们不知道用户会输错几次,所以用while循环最合适,for循环反而不方便。
3.4 死循环:while True的用法
有时候我们需要程序一直运行,直到手动触发终止条件,这时候就用while True:
whileTrue:cmd=input("请输入指令(输入exit退出):")ifcmd=="exit":breakprint(f"执行指令:{cmd}")这种写法在AI服务端程序、实时数据监测脚本中非常常用,程序持续运行,等待指令或数据输入。
四、break:循环的“紧急刹车”
break是循环控制语句,作用只有一个:立即终止当前所在的循环,跳出循环体,执行循环后面的代码。
不管是for还是while循环,只要执行到break,循环立刻结束,剩余的循环次数直接作废。
4.1 break在for循环中的使用
示例:找到数字3就停止循环:
foriinrange(1,6):ifi==3:print("找到数字3,终止循环")breakprint(f"当前数字:{i}")执行结果:
当前数字:1 当前数字:2 找到数字3,终止循环4.2 break在while循环中的使用
示例:计数器到3就停止:
i=1whilei<=5:ifi==3:print("达到阈值,终止循环")breakprint(f"当前数字:{i}")i+=14.3 嵌套循环中的break:只跳当前层
很多小白容易踩坑:break只能终止自己所在的那一层循环,不会跳出外层循环。
示例:
foriinrange(1,4):forjinrange(1,4):ifj==2:breakprint(f"i={i}, j={j}")执行后只会跳出内层循环,外层循环依旧正常执行。
五、continue:循环的“跳过指令”
continue和break不同,它不是终止循环,而是跳过当前这一次循环,直接进入下一次循环判断。
简单理解:break是“不干了,直接下班”;continue是“这一次摸鱼,下一次继续干”。
5.1 continue在for循环中的使用
示例:跳过数字3,输出其他数字:
foriinrange(1,6):ifi==3:print("跳过数字3")continueprint(f"当前数字:{i}")执行结果:
当前数字:1 当前数字:2 跳过数字3 当前数字:4 当前数字:5可以看到,数字3被跳过,循环没有终止,继续执行后面的数字。
5.2 continue在while循环中的使用
注意:while循环中使用continue时,一定要确保计数器自增代码在continue之前,否则会陷入死循环。
错误示例(死循环):
i=1whilei<=5:ifi==3:continueprint(i)i+=1当i=3时,执行continue,跳过了i += 1,i永远是3,循环卡死。
正确写法:
i=1whilei<=5:i+=1ifi==3:print("跳过数字3")continueprint(f"当前数字:{i}")5.3 continue实战场景:过滤无效数据
在AI数据处理中,经常需要过滤缺失值、异常值,这时候continue就派上用场:
# 模拟一批包含缺失值的数据集data_list=[12,None,34,0,56,None,78]# 过滤缺失值,只处理有效数据fordataindata_list:ifdataisNone:print("发现缺失值,跳过")continueprint(f"处理有效数据:{data}")这是2026年数据预处理中非常典型的用法,简洁高效。
六、for vs while:到底该用哪个?
很多新手纠结:同样的功能,用for还是while?这里给大家一个2026年Python工程开发中的通用选择标准:
优先用for循环的场景:
- 遍历列表、字符串、字典、数据集、文件行;
- 已知明确的循环次数;
- AI数据遍历、批量文件处理、模型迭代训练。
必须用while循环的场景:
- 不知道循环次数,只依赖条件判断;
- 用户交互、实时监听、服务常驻程序;
- 条件动态变化,无法提前确定循环次数。
简单总结:有范围、有容器用for;靠条件、不确定次数用while。
七、循环常见坑点:2026年新手必避的雷
写循环时,新手最容易踩坑,我总结了几个高频错误,避开这些基本就能写出稳定的循环代码:
7.1 while循环忘记更新条件,导致死循环
这是最经典的错误,一定要在循环体内修改控制变量,让条件最终能变为False。
7.2 缩进错误导致循环逻辑混乱
Python靠缩进区分代码块,循环体代码必须统一缩进,否则要么报错,要么逻辑错乱。
7.3 break和continue用反
break是终止,continue是跳过,用反会导致程序完全不符合预期,写之前先想清楚逻辑。
7.4 循环嵌套层级过多
工程代码中,循环嵌套尽量不超过3层,否则可读性极差,还会影响性能,AI数据处理中可以用向量化操作替代深层嵌套循环。
7.5 循环内重复创建对象
在2026年的Python性能优化中,循环内尽量避免重复创建列表、模型实例等大对象,会严重拖慢运行速度,应提前初始化。
八、循环在2026 AI开发中的实际应用
循环不是单纯的语法玩具,在实际AI工程中用处极大:
- 模型训练迭代:训练轮次epoch用循环控制,每一轮遍历数据集更新参数;
- 数据批量预处理:for循环遍历图片、文本数据,做归一化、分词、增强;
- 超参数搜索:while或for循环遍历学习率、批次大小等参数,寻找最优组合;
- 自动化脚本:批量处理实验日志、导出模型结果、监测模型运行状态。
可以说,没有循环,AI模型训练、数据处理根本无法实现。
九、总结
Python循环的核心就是四个知识点:for、while、break、continue。
- for循环:遍历可迭代对象,适合固定次数循环;
- while循环:依赖条件判断,适合未知次数循环;
- break:立即终止当前循环;
- continue:跳过当前次循环,进入下一次。
学习循环没有捷径,多写案例、多踩坑、多实战,尤其是结合AI数据处理、小脚本练习,很快就能熟练掌握。基础打牢了,后面学习深度学习、机器学习框架时,才能轻松看懂底层迭代逻辑,写出高效稳定的代码。
P.S. 目前国内还是很缺AI人才的,希望更多人能真正加入到AI行业,共同促进行业进步,增强我国的AI竞争力。想要系统学习AI知识的朋友可以看看我精心打磨的教程 http://blog.csdn.net/jiangjunshow,教程通俗易懂,高中生都能看懂,还有各种段子风趣幽默,从深度学习基础原理到各领域实战应用都有讲解,我22年的AI积累全在里面了。注意,教程仅限真正想入门AI的朋友,否则看看零散的博文就够了。