文章目录
-
- 前言
- 一、循环到底是干嘛的?先把逻辑搞明白
- 二、for循环:Python里最常用的"批量工具"
-
- [2.1 for循环基础语法](#2.1 for循环基础语法)
- [2.2 最简单的for循环示例](#2.2 最简单的for循环示例)
- [2.3 遍历字符串:for循环也能拆文字](#2.3 遍历字符串:for循环也能拆文字)
- [2.4 遍历字典:键、值、键值对全拿下](#2.4 遍历字典:键、值、键值对全拿下)
- [2.5 for循环嵌套:处理多维数据](#2.5 for循环嵌套:处理多维数据)
- 三、while循环:靠条件驱动的"循环选手"
-
- [3.1 while循环基础语法](#3.1 while循环基础语法)
- [3.2 基础while循环示例](#3.2 基础while循环示例)
- [3.3 while循环的经典场景:用户输入校验](#3.3 while循环的经典场景:用户输入校验)
- [3.4 死循环:while True的用法](#3.4 死循环:while True的用法)
- 四、break:循环的"紧急刹车"
-
- [4.1 break在for循环中的使用](#4.1 break在for循环中的使用)
- [4.2 break在while循环中的使用](#4.2 break在while循环中的使用)
- [4.3 嵌套循环中的break:只跳当前层](#4.3 嵌套循环中的break:只跳当前层)
- 五、continue:循环的"跳过指令"
-
- [5.1 continue在for循环中的使用](#5.1 continue在for循环中的使用)
- [5.2 continue在while循环中的使用](#5.2 continue在while循环中的使用)
- [5.3 continue实战场景:过滤无效数据](#5.3 continue实战场景:过滤无效数据)
- [六、for vs while:到底该用哪个?](#六、for vs while:到底该用哪个?)
- 七、循环常见坑点:2026年新手必避的雷
-
- [7.1 while循环忘记更新条件,导致死循环](#7.1 while循环忘记更新条件,导致死循环)
- [7.2 缩进错误导致循环逻辑混乱](#7.2 缩进错误导致循环逻辑混乱)
- [7.3 break和continue用反](#7.3 break和continue用反)
- [7.4 循环嵌套层级过多](#7.4 循环嵌套层级过多)
- [7.5 循环内重复创建对象](#7.5 循环内重复创建对象)
- [八、循环在2026 AI开发中的实际应用](#八、循环在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循环的核心逻辑是:遍历可迭代对象,逐个取出元素,执行循环体代码 。
基础语法格式:
python
for 临时变量 in 可迭代对象:
循环体代码(需要重复执行的内容)
这里的可迭代对象,简单理解就是能一个一个往外拿东西的容器,比如列表、元组、字符串、range生成的数字序列、甚至2026年常用的数据集迭代器、PyTorch的数据加载器等。
2.2 最简单的for循环示例
先看一个最基础的例子,遍历数字序列:
python
# 循环输出1到5的数字
for i in range(1, 6):
print(f"当前数字:{i}")
执行结果:
当前数字:1
当前数字:2
当前数字:3
当前数字:4
当前数字:5
这里的range(1,6)是Python内置函数,作用是生成1到5的整数序列(左闭右开,不包含结束值),这也是2026年Python基础编程中最常用的生成固定次数循环的方式。
再举一个遍历列表的例子,模拟批量处理AI数据集:
python
# 模拟一批图像数据文件名
image_files = ["img1.jpg", "img2.jpg", "img3.jpg", "img4.jpg"]
# 批量遍历处理每张图片
for file in image_files:
print(f"正在处理图片:{file}")
执行结果:
正在处理图片:img1.jpg
正在处理图片:img2.jpg
正在处理图片:img3.jpg
正在处理图片:img4.jpg
这种写法在AI图像预处理中非常常见,批量读取图片、归一化、数据增强,都是用for循环遍历实现的。
2.3 遍历字符串:for循环也能拆文字
字符串本质上也是可迭代对象,for循环可以逐个取出字符:
python
text = "AI2026"
for char in text:
print(f"当前字符:{char}")
执行结果:
当前字符:A
当前字符:I
当前字符:2
当前字符:0
当前字符:2
当前字符:6
2.4 遍历字典:键、值、键值对全拿下
在2026年的Python开发中,字典是存储配置信息、模型参数、API返回数据的常用容器,for循环遍历字典有三种方式:
- 遍历字典的键;
- 遍历字典的值;
- 遍历键值对。
示例代码:
python
# 模拟AI模型配置参数
model_config = {
"学习率": 0.001,
"批次大小": 32,
"训练轮次": 100,
"优化器": "Adam"
}
# 遍历键
print("===遍历键===")
for key in model_config:
print(key)
# 遍历值
print("\n===遍历值===")
for value in model_config.values():
print(value)
# 遍历键值对
print("\n===遍历键值对===")
for key, value in model_config.items():
print(f"{key}:{value}")
这种写法在读取模型超参数、处理接口返回的JSON数据时,几乎每天都会用到。
2.5 for循环嵌套:处理多维数据
AI领域中经常遇到二维、三维数据,比如二维数组、图像像素矩阵,这时候就需要嵌套for循环。
举个简单的二维列表示例:
python
# 模拟3x3的图像像素矩阵
pixel_matrix = [
[128, 255, 0],
[64, 192, 32],
[0, 128, 255]
]
# 嵌套循环遍历每个像素值
for row in pixel_matrix:
for pixel in row:
print(f"像素值:{pixel}", end="\t")
print()
嵌套循环的逻辑就是:外层循环走一次,内层循环跑全部。就像看表格,先看第一行,再逐个看这一行的每一列,看完一行再看下一行。
三、while循环:靠条件驱动的"循环选手"
while循环和for循环不同,它不依赖可迭代对象,只看一个条件:条件为True,就执行循环体;条件为False,就结束循环。
3.1 while循环基础语法
语法格式非常简单:
python
while 循环条件:
循环体代码
核心逻辑:先判断条件,满足就执行,执行完再判断,直到条件不满足。
3.2 基础while循环示例
比如循环输出1到5,用while实现:
python
# 初始化计数器
i = 1
# 循环条件:i小于等于5
while i <= 5:
print(f"当前数字:{i}")
# 计数器自增,必须写,否则死循环
i += 1
这里有一个关键点:必须在循环体内修改循环条件,否则会陷入死循环 。比如上面如果删掉i += 1,i永远是1,条件永远成立,程序就会一直打印,停不下来。
3.3 while循环的经典场景:用户输入校验
在2026年的Python交互程序、AI工具开发中,while循环常用来做用户输入校验,直到用户输入正确内容才退出:
python
# 模拟AI模型启动密码校验
password = ""
while password != "AI2026":
password = input("请输入启动密码:")
print("密码正确,模型启动成功!")
这个场景下,我们不知道用户会输错几次,所以用while循环最合适,for循环反而不方便。
3.4 死循环:while True的用法
有时候我们需要程序一直运行,直到手动触发终止条件,这时候就用while True:
python
while True:
cmd = input("请输入指令(输入exit退出):")
if cmd == "exit":
break
print(f"执行指令:{cmd}")
这种写法在AI服务端程序、实时数据监测脚本中非常常用,程序持续运行,等待指令或数据输入。
四、break:循环的"紧急刹车"
break是循环控制语句,作用只有一个:立即终止当前所在的循环,跳出循环体,执行循环后面的代码。
不管是for还是while循环,只要执行到break,循环立刻结束,剩余的循环次数直接作废。
4.1 break在for循环中的使用
示例:找到数字3就停止循环:
python
for i in range(1, 6):
if i == 3:
print("找到数字3,终止循环")
break
print(f"当前数字:{i}")
执行结果:
当前数字:1
当前数字:2
找到数字3,终止循环
4.2 break在while循环中的使用
示例:计数器到3就停止:
python
i = 1
while i <= 5:
if i == 3:
print("达到阈值,终止循环")
break
print(f"当前数字:{i}")
i += 1
4.3 嵌套循环中的break:只跳当前层
很多小白容易踩坑:break只能终止自己所在的那一层循环,不会跳出外层循环。
示例:
python
for i in range(1, 4):
for j in range(1, 4):
if j == 2:
break
print(f"i={i}, j={j}")
执行后只会跳出内层循环,外层循环依旧正常执行。
五、continue:循环的"跳过指令"
continue和break不同,它不是终止循环,而是跳过当前这一次循环,直接进入下一次循环判断。
简单理解:break是"不干了,直接下班";continue是"这一次摸鱼,下一次继续干"。
5.1 continue在for循环中的使用
示例:跳过数字3,输出其他数字:
python
for i in range(1, 6):
if i == 3:
print("跳过数字3")
continue
print(f"当前数字:{i}")
执行结果:
当前数字:1
当前数字:2
跳过数字3
当前数字:4
当前数字:5
可以看到,数字3被跳过,循环没有终止,继续执行后面的数字。
5.2 continue在while循环中的使用
注意:while循环中使用continue时,一定要确保计数器自增代码在continue之前,否则会陷入死循环。
错误示例(死循环):
python
i = 1
while i <= 5:
if i == 3:
continue
print(i)
i += 1
当i=3时,执行continue,跳过了i += 1,i永远是3,循环卡死。
正确写法:
python
i = 1
while i <= 5:
i += 1
if i == 3:
print("跳过数字3")
continue
print(f"当前数字:{i}")
5.3 continue实战场景:过滤无效数据
在AI数据处理中,经常需要过滤缺失值、异常值,这时候continue就派上用场:
python
# 模拟一批包含缺失值的数据集
data_list = [12, None, 34, 0, 56, None, 78]
# 过滤缺失值,只处理有效数据
for data in data_list:
if data is None:
print("发现缺失值,跳过")
continue
print(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的朋友,否则看看零散的博文就够了。