当前位置: 首页 > article >正文

Python 循环基础:for、while、break、continue

文章目录前言一、循环到底是干嘛的先把逻辑搞明白二、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循环可以逐个取出字符textAI2026forcharintext: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实现# 初始化计数器i1# 循环条件i小于等于5whilei5:print(f当前数字{i})# 计数器自增必须写否则死循环i1这里有一个关键点必须在循环体内修改循环条件否则会陷入死循环。比如上面如果删掉i 1i永远是1条件永远成立程序就会一直打印停不下来。3.3 while循环的经典场景用户输入校验在2026年的Python交互程序、AI工具开发中while循环常用来做用户输入校验直到用户输入正确内容才退出# 模拟AI模型启动密码校验passwordwhilepassword!AI2026:passwordinput(请输入启动密码)print(密码正确模型启动成功)这个场景下我们不知道用户会输错几次所以用while循环最合适for循环反而不方便。3.4 死循环while True的用法有时候我们需要程序一直运行直到手动触发终止条件这时候就用while TruewhileTrue:cmdinput(请输入指令输入exit退出)ifcmdexit:breakprint(f执行指令{cmd})这种写法在AI服务端程序、实时数据监测脚本中非常常用程序持续运行等待指令或数据输入。四、break循环的“紧急刹车”break是循环控制语句作用只有一个立即终止当前所在的循环跳出循环体执行循环后面的代码。不管是for还是while循环只要执行到break循环立刻结束剩余的循环次数直接作废。4.1 break在for循环中的使用示例找到数字3就停止循环foriinrange(1,6):ifi3:print(找到数字3终止循环)breakprint(f当前数字{i})执行结果当前数字1 当前数字2 找到数字3终止循环4.2 break在while循环中的使用示例计数器到3就停止i1whilei5:ifi3:print(达到阈值终止循环)breakprint(f当前数字{i})i14.3 嵌套循环中的break只跳当前层很多小白容易踩坑break只能终止自己所在的那一层循环不会跳出外层循环。示例foriinrange(1,4):forjinrange(1,4):ifj2:breakprint(fi{i}, j{j})执行后只会跳出内层循环外层循环依旧正常执行。五、continue循环的“跳过指令”continue和break不同它不是终止循环而是跳过当前这一次循环直接进入下一次循环判断。简单理解break是“不干了直接下班”continue是“这一次摸鱼下一次继续干”。5.1 continue在for循环中的使用示例跳过数字3输出其他数字foriinrange(1,6):ifi3:print(跳过数字3)continueprint(f当前数字{i})执行结果当前数字1 当前数字2 跳过数字3 当前数字4 当前数字5可以看到数字3被跳过循环没有终止继续执行后面的数字。5.2 continue在while循环中的使用注意while循环中使用continue时一定要确保计数器自增代码在continue之前否则会陷入死循环。错误示例死循环i1whilei5:ifi3:continueprint(i)i1当i3时执行continue跳过了i 1i永远是3循环卡死。正确写法i1whilei5:i1ifi3: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的朋友否则看看零散的博文就够了。

相关文章:

Python 循环基础:for、while、break、continue

文章目录前言一、循环到底是干嘛的?先把逻辑搞明白二、for循环:Python里最常用的“批量工具”2.1 for循环基础语法2.2 最简单的for循环示例2.3 遍历字符串:for循环也能拆文字2.4 遍历字典:键、值、键值对全拿下2.5 for循环嵌套&am…...

大模型窗口越来越大,为什么 Agent 还是总会失控?

前端出身,跨进智能体这个坑已经有一段时间了。写这个系列,是想把自己摸索的过程留下来,不是教程,是记录。 很多刚开始接触 Agent 的人,都会有一个直觉: 现在模型的上下文窗口不是已经越来越大了吗&#x…...

应届生面试:3分钟搞定自我介绍

文章目录前言一、为什么应届生面试,自我介绍这么重要?1.1 面试官的真实目的:3秒筛选,3分钟定印象1.2 3分钟不是上限,是“黄金区间”1.3 2026年校招趋势:更看重“务实”,不看“空喊口号”二、90%…...

uniapp中uview组件库的NoticeBar滚动通知进阶配置与实战技巧

1. NoticeBar组件核心功能解析 滚动通知栏作为移动端高频使用的UI组件,在uniapp生态中通过uView的NoticeBar实现了开箱即用的解决方案。这个看似简单的组件实际上隐藏着不少值得深挖的特性。先说说它的基础能力:支持水平和垂直两种滚动模式,水…...

Springboot常见内存溢出与线程报错分析

Springboot内存溢出与线程报错分析 Spring Boot 应用在生产环境中常见的内存溢出(OOM)和线程相关报错,主要源于 JVM 内存模型、线程模型与应用代码/配置的交互。以下是系统性整理:一、常见 内存溢出(OutOfMemoryError&…...

Kotlin密封类实战指南:如何优雅地处理受限类层次结构

1. 密封类是什么?为什么你需要它 第一次看到Kotlin的密封类时,我也有点懵——这不就是个加强版的枚举吗?直到在一个电商项目中踩了坑才恍然大悟。想象你正在开发一个订单状态系统:订单可能是"待支付"、"已发货&quo…...

SQL触发器定义在不同版本间的兼容性_使用标准SQL语法编写

MySQL 5.7与8.0的CREATE TRIGGER差异主要在DEFINER权限处理、严格模式对非法数据的中断行为;PostgreSQL强制函数绑定且返回TRIGGER;SQL Server的INSTEAD OF需手动处理伪表;各数据库触发器语法均不兼容ANSI标准。MySQL 5.7 和 8.0 的 CREATE T…...

CSS 毛玻璃效果:从基础实现到高级应用

1. 毛玻璃效果基础实现 毛玻璃效果(Frosted Glass Effect)是近年来网页设计中非常流行的一种视觉效果,它能让界面元素呈现出半透明的磨砂质感,就像我们常见的磨砂玻璃一样。这种效果最大的特点就是既能保持背景内容的可见性&#…...

ShardingSphere 5.2.1 启动报错 SPI-00001?别慌,试试降级到 5.1.1 的完整避坑指南

ShardingSphere 5.2.1 启动报错 SPI-00001 的深度解决方案与版本选择策略 最近在技术社区看到不少开发者反馈,在使用 ShardingSphere 5.2.1 版本时遇到了一个棘手的启动错误:SPI-00001: No implementation class load from SPI。这个错误看似简单&#x…...

基于LLM的高校招生智能问答系统

一、 研究目的 本研究旨在利用大语言模型(LLM)强大的自然语言理解与生成能力,解决当前高校招生咨询工作中存在的痛点与瓶颈。随着高等教育普及化程度的加深,每年招生季高校需面对海量、重复且时效性极强的咨询需求。传统的人工客服模式受限于人力成本、工作时间及答复一致…...

从NeRF到ConvONet:手把手教你用Python和PyTorch搭建自己的三维重建模型(附代码)

从NeRF到ConvONet:手把手教你用Python和PyTorch搭建自己的三维重建模型(附代码) 三维重建技术正在彻底改变我们与数字世界的交互方式。想象一下,仅凭几张照片就能重建出精细的3D模型,或者通过简单的视频输入实时生成三…...

从入门到精通:Java 编程语言全解析 —— 夯实编程基础,开启开发之旅

从入门到精通:Java 编程语言全解析 —— 夯实编程基础,开启开发之旅 在编程世界里,Java 凭借其跨平台、安全稳定、生态完善的优势,稳居主流编程语言榜首数十年。无论是桌面应用、后端开发、移动安卓程序,还是大数据、云…...

分析和存储日志知识点问答

1.RHEL日志文件保存在哪个目录中? 保存在/var/log目录下。 2.什么是syslog消息和非syslog消息? syslog消息是格式标准统一的日志,非syslog消息是各个程序自己定义的格式标准不统一的日志。 3.哪两个服务处理RHEL中的syslog消息? s…...

BGE Reranker-v2-m3部署案例:离线考试阅卷系统中实现主观题参考答案语义匹配

BGE Reranker-v2-m3部署案例:离线考试阅卷系统中实现主观题参考答案语义匹配 1. 项目背景与需求场景 在传统的考试阅卷系统中,主观题评分一直是个让人头疼的问题。特别是像简答题、论述题这类题目,学生的答案五花八门,但表达的意…...

绿色机器学习系统综述:(四)讨论、未来方向与结论

摘要 本文是对发表在《Artificial Intelligence Review》期刊上的论文"A systematic review of Green Machine Learning: practices and challenges for sustainability"的文献精读第四篇,也是本系列的最后一篇。该论文由Samara Santos、Andr L. C. Otto…...

MySQL触发器实战避坑指南:如何巧妙绕过错误1442的陷阱

1. 为什么你的MySQL触发器会报错1442? 最近在帮朋友排查一个MySQL数据库问题时,遇到了经典的错误1442。当时他正在开发一个员工考勤系统,触发器里写着:"当员工状态更新为离职时,自动删除一年前的旧记录"。听…...

【YOLO11性能跃迁】MSCAA注意力模块实战:从理论到代码,打造高效目标检测新范式

1. MSCAA模块:目标检测领域的注意力新范式 如果你正在使用YOLO系列做目标检测,一定遇到过小目标漏检、复杂背景干扰这些头疼问题。传统卷积神经网络就像拿着固定放大镜找东西,而MSCAA模块给检测器装上了"智能变焦镜头"。这个源自语…...

Qwen3-ASR-0.6B企业级应用:呼叫中心1000路并发语音转写架构

Qwen3-ASR-0.6B企业级应用:呼叫中心1000路并发语音转写架构 1. 呼叫中心语音转写的挑战与机遇 现代呼叫中心每天处理成千上万的客户通话,这些海量语音数据蕴含着宝贵的商业价值。但传统语音转写方案面临三大痛点:处理速度慢导致响应延迟、并…...

算法训练营第二天

题目链接 https://leetcode.cn/problems/binary-search/ 视频链接 https://www.bilibili.com/video/BV1fA4y1o715 刚看到题目,感觉今天的有点难哦! 心得体会:难不重要,进步最重要!加油!!...

执行报错时如何利用分析数据库慢查询排查_SQL语法纠错技巧

%开头的LIKE无法走索引,导致全表扫描;应改用LIKE abc%、函数索引、全文索引或ES;列名错误多因大小写、反引号缺失或别名作用域问题;GROUP BY报错源于ONLY_FULL_GROUP_BY模式,需合规改写SQL。MySQL 慢查询日志里看到 SE…...

Flink技术实践-FlinkSQL Join技术全解

一、背景介绍在离线批处理场景中,编写一个 Join SQL 是再平常不过的操作——两张有限的数据集,在某个键上关联,输出结果。但当你把这套 SQL 语义移植到实时流处理场景时,一切都变了。特性批处理 Join流处理 Join数据特征有限、静态…...

如何快速为旧iPhone降级:Legacy-iOS-Kit完整使用指南

如何快速为旧iPhone降级:Legacy-iOS-Kit完整使用指南 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to restore/downgrade, save SHSH blobs, jailbreak legacy iOS devices, and more 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-Kit 你…...

统计子矩阵 前缀和 滑动窗口

统计子矩阵 问题描述 给定一个 NMN \times MNM 的矩阵 AAA,统计有多少个子矩阵(最小 111 \times 111,最大 NMN \times MNM)满足子矩阵中所有数的和不超过给定的整数 KKK。 输入格式 第一行包含三个整数 NNN, MMM 和 KKK。 之后…...

2025届最火的降重复率平台推荐

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在如今天日渐趋成熟的AI生成内容检测技术状况下,众多创作者都面临着内容被标记成…...

突破某音新版SSL Pinning:无需Frida的SO层Patch方案

1. 为什么传统方法失效了? 最近不少做逆向分析的朋友都在抱怨,某音新版突然抓不到包了。明明已经配置好了抓包环境,甚至用上了Frida和JustTrustMe这类工具,结果发现这次某音压根没走系统SSL库,而是自己实现了一套校验机…...

2025届毕业生推荐的五大降重复率神器实际效果

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 为降低AIGC检测率,其核心要点在于消除生成式文本呈现出的规律性特征。其一&#…...

Keepalived高可用与负载均衡

一、核心定位开源高可用(HA)软件,核心解决单点故障,可结合LVS实现负载均衡高可用双重保障,基于VRRP协议工作。二、核心功能主备自动切换:通过VRRP协议,实现节点故障时VIP漂移,保障服…...

致远OA A8 htmlofficeservlet 漏洞深度剖析:从原理到实战利用链还原

1. 漏洞背景与影响范围 致远OA A8系统作为国内广泛使用的企业协同办公平台,其htmlofficeservlet组件曝出的任意文件上传漏洞堪称近年来最具破坏力的漏洞之一。我在实际渗透测试中发现,攻击者无需任何身份认证,仅需发送特制POST请求就能在目标…...

BERT文本分割-中文-通用领域惊艳效果:支持多粒度嵌套分段(章→节→小节)

BERT文本分割-中文-通用领域惊艳效果:支持多粒度嵌套分段(章→节→小节) 1. 快速了解BERT文本分割 如果你曾经遇到过这样的情况:拿到一份长长的会议记录、讲座文稿或者采访稿,发现整篇文章密密麻麻没有分段&#xff…...

Spring Boot项目配置Druid连接池的5个关键参数(附removeAbandoned避坑指南)

Spring Boot项目配置Druid连接池的5个关键参数与实战避坑指南 在Spring Boot项目中,数据库连接池的配置直接影响着应用的性能和稳定性。作为阿里巴巴开源的优秀连接池实现,Druid凭借其强大的监控和统计功能,成为众多Java项目的首选。但在实际…...