前言
在编程中,循环是处理重复任务的核心工具。Python 提供了 for 和 while 两种主要循环结构,分别适用于遍历可迭代对象和基于条件重复执行。
本文将系统讲解循环的语法、控制语句、常见应用场景以及现代 Python 中的高效迭代技巧,帮助你写出更简洁、高效的循环代码。
一、循环的基本概念
循环用于重复执行一段代码块,避免重复编写相同的代码。Python 中的两种循环:
| 循环类型 | 适用场景 |
|---|---|
for 循环 | 遍历序列(列表、元组、字符串)或其他可迭代对象 |
while 循环 | 当条件为真时重复执行,适用于未知迭代次数的情况 |
二、for 循环详解
2.1 基本语法
for 变量 in 可迭代对象:
# 循环体
2.2 遍历列表
names = ['Michael', 'Bob', 'Tracy']
for name in names:
print(name)
输出:
Michael
Bob
Tracy
2.3 使用 range() 生成整数序列
range() 函数常用于 for 循环中生成指定范围的整数序列。
# 生成 0-4 的整数序列
print(list(range(5))) # [0, 1, 2, 3, 4]
2.4 累加求和示例
# 计算 1-100 的和
total = 0
for num in range(1, 101):
total += num
print(total) # 5050
📌
range(1, 101)生成从 1 到 100 的整数,左闭右开。
三、while 循环详解
3.1 基本语法
while 条件:
# 循环体
只要条件为 True,循环就会持续执行。务必确保条件最终变为 False,否则会形成死循环。
3.2 计算奇数和示例
# 计算 100 以内所有奇数的和
sum_odd = 0
n = 99
while n > 0:
sum_odd += n
n -= 2
print(sum_odd) # 2500
四、循环控制语句
4.1 break:终止整个循环
n = 1
while n <= 100:
if n > 10:
break
print(n)
n += 1
print('END')
输出:
1
2
...
10
END
4.2 continue:跳过本次迭代,继续下一次
n = 0
while n < 10:
n += 1
if n % 2 == 0:
continue
print(n)
输出:
1
3
5
7
9
⚠️ 注意事项
- 过度使用
break和continue会使代码逻辑复杂,可读性下降- 优先考虑使用循环条件或
if-else来替代
五、循环进阶技巧
5.1 带索引遍历:enumerate()
fruits = ['apple', 'banana', 'orange']
for index, fruit in enumerate(fruits):
print(f"Index {index}: {fruit}")
输出:
Index 0: apple
Index 1: banana
Index 2: orange
5.2 列表推导式(List Comprehension)
简洁地创建列表,替代简单 for 循环。
squares = [x**2 for x in range(10)]
print(squares) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
5.3 生成器表达式(节省内存)
sum_sq = sum(x**2 for x in range(100))
print(sum_sq) # 328350
5.4 并行遍历:zip()
names = ['Alice', 'Bob', 'Charlie']
ages = [25, 30, 35]
for name, age in zip(names, ages):
print(f"{name} is {age} years old")
输出:
Alice is 25 years old
Bob is 30 years old
Charlie is 35 years old
六、典型练习题
6.1 打印问候语
names = ['Bart', 'Lisa', 'Adam']
for name in names:
print(f"Hello, {name}!")
6.2 计算 1-100 的偶数和
sum_even = 0
for num in range(2, 101, 2):
sum_even += num
print(sum_even) # 2550
6.3 打印乘法表(嵌套循环)
for i in range(1, 10):
for j in range(1, i+1):
print(f"{j}x{i}={i*j}", end="\t")
print()
七、循环的最佳实践与注意事项
- 避免死循环:
while循环务必确保条件最终变为False - 优先使用
for循环:遍历序列时更简洁、更安全 - 保持循环体简洁:将复杂逻辑提取为函数
- 使用描述性变量名:如
index,item,count等 - 考虑高级迭代工具:如
itertools模块提供的chain、cycle等
八、总结
| 循环类型 | 使用场景 | 示例 |
|---|---|---|
for | 遍历已知序列或可迭代对象 | for i in range(10): |
while | 基于条件重复执行 | while n > 0: |
break | 提前终止循环 | 满足某个条件时退出 |
continue | 跳过本次迭代 | 满足条件时忽略后续代码 |
enumerate | 同时获取索引与值 | 遍历时需索引 |
zip | 并行遍历多个序列 | 合并对应元素 |
掌握循环是编程进阶的关键一步。合理选择循环类型、善用控制语句和现代 Python 迭代技巧,可以让你的代码更高效、更优雅。
📚 相关推荐阅读
如果这篇文章对你有帮助,欢迎点赞、评论、收藏,你的支持是我持续分享的动力!🎉
想要解锁更多 Python 实战黑科技?搜索「道满PythonAI」,海量免费教程随你练,边学边练进步更快!
下一篇想学 Python 什么内容?评论区告诉我!觉得有用就点赞 + 关注,持续更新干货~