Python3 循环语句(千字长文)
💡一则或许对你有用的小广告
欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论
- 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于
Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...
,点击查看项目介绍 ;- 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;
截止目前, 星球 内专栏累计输出 82w+ 字,讲解图 3441+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 2900+ 小伙伴加入学习 ,欢迎点击围观
Python 3 循环语句:让程序高效运转的“永动机”
在编程世界中,循环语句如同程序的“永动机”,它能让代码在特定条件下重复执行,从而高效完成批量操作。无论是遍历数据集、处理文件流,还是构建复杂的算法逻辑,掌握Python 3的循环语句都是开发者的基础能力。本文将从基础概念到高级应用,通过形象比喻和实战案例,带读者全面理解这一核心编程工具。
一、循环语句的核心作用:程序的“重复执行引擎”
想象你正在组装一辆自行车,每次拧螺丝都需要手动操作,这显然效率低下。而循环语句就像一台智能扳手,能自动识别并完成重复任务。在Python中,循环语句主要分为两类:for
循环和**while
循环**,它们分别对应“已知次数的重复”和“条件达成前的持续运行”两种场景。
1. for
循环:已知次数的“流水线作业”
for
循环通过遍历序列(列表、字符串、字典等)实现循环。其语法结构为:
for 变量 in 可迭代对象:
# 循环体代码
案例:遍历购物车计算总价
prices = [20, 35.5, 12.99, 49.9]
total = 0
for price in prices:
total += price
print(f"总价:{total:.2f} 元")
关键点:
- 序列遍历:
for
循环会逐个提取可迭代对象中的元素赋值给变量。 - 循环体:每次迭代后,变量值会更新为下一个元素。
二、while
循环:条件触发的“守门员机制”
while
循环更像一位严谨的“守门员”,只有当条件满足时才允许程序继续执行。其语法为:
while 条件表达式:
# 循环体代码
案例:猜数字游戏
import random
target = random.randint(1, 10)
guess = 0
while guess != target:
guess = int(input("猜一个1-10的数字:"))
if guess < target:
print("太小了!")
elif guess > target:
print("太大了!")
print("恭喜猜中!")
关键点:
- 条件判断:循环体仅在条件表达式为
True
时执行。 - 避免死循环:必须确保循环体内有改变条件的语句(如本例中通过用户输入更新
guess
)。
三、循环控制语句:灵活调整的“交通灯系统”
在循环执行过程中,有时需要临时跳过某次迭代或直接终止循环。Python提供了三种控制语句:
1. break
:立即终止循环的“红灯”
当满足特定条件时,break
会终止最近一层循环,跳出循环体继续执行后续代码。
案例:寻找第一个偶数
numbers = [7, 3, 15, 8, 22, 9]
for num in numbers:
if num % 2 == 0:
print(f"找到第一个偶数:{num}")
break
2. continue
:跳过当前迭代的“黄灯”
continue
会直接跳过本次循环的剩余代码,进入下一次迭代。
案例:过滤非数字字符
text = "a1b2c3"
digits = []
for char in text:
if not char.isdigit():
continue
digits.append(char)
print(digits) # 输出:['1', '2', '3']
3. pass
:占位符的“绿灯”
pass
是一个空语句,用于保持代码结构完整性,常用于尚未实现的功能占位。
案例:框架搭建
def process_data(data):
if not data:
pass # 后续需补充空数据处理逻辑
else:
# 数据处理逻辑
pass
四、嵌套循环:构建多维操作的“矩阵网格”
当需要处理二维数据(如表格、棋盘)时,可以将循环嵌套使用。外层循环控制行,内层循环控制列。
案例:生成坐标点
for x in range(3):
for y in range(3):
print(f"({x}, {y})", end=" ")
print() # 换行符
关键点:
- 执行顺序:外层循环每完成一次迭代,内层循环会完整执行一次。
- 性能注意:双重循环的时间复杂度为O(n²),需谨慎处理大数据量场景。
五、性能优化技巧:让循环“轻装上阵”
对于大规模数据处理,优化循环效率至关重要。以下是几种常用策略:
1. 列表推导式替代显式循环
squares = []
for num in range(10):
squares.append(num ** 2)
squares = [num ** 2 for num in range(10)]
2. 避免不必要的内层计算
for i in range(len(list)):
# 操作
for item in list:
# 操作
3. 使用生成器减少内存占用
squares = (num ** 2 for num in range(1000000))
for square in squares:
# 按需处理
六、实战案例:斐波那契数列生成
斐波那契数列是循环的经典应用,通过两种循环方式实现:
方式一:for
循环
n = 10
a, b = 0, 1
for _ in range(n):
print(a, end=" ")
a, b = b, a + b
方式二:while
循环
a, b, count = 0, 1, 0
while count < 10:
print(a, end=" ")
a, b = b, a + b
count += 1
结论:循环语句是编程的“基石”
从基础的遍历操作到复杂的嵌套逻辑,Python 3的循环语句为开发者提供了强大的工具箱。通过掌握for
循环的序列遍历、while
循环的条件控制,结合break
、continue
等控制语句,开发者可以构建出高效、灵活的代码结构。建议读者通过实际项目练习,例如文件批量处理、数据统计分析等,逐步深化对循环语句的理解。
在未来的编程旅程中,循环语句将继续作为“永动机”,驱动你的代码完成更复杂的任务。记住,每一次循环的优化都是对程序效率的提升,而每一次循环的正确设计,都是对逻辑思维的锤炼。