Python基础:循环结构完全指南

0 阅读4分钟

前言

在编程中,循环是处理重复任务的核心工具。Python 提供了 forwhile 两种主要循环结构,分别适用于遍历可迭代对象和基于条件重复执行。

本文将系统讲解循环的语法、控制语句、常见应用场景以及现代 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

⚠️ 注意事项

  • 过度使用 breakcontinue 会使代码逻辑复杂,可读性下降
  • 优先考虑使用循环条件或 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 模块提供的 chaincycle

八、总结

循环类型使用场景示例
for遍历已知序列或可迭代对象for i in range(10):
while基于条件重复执行while n > 0:
break提前终止循环满足某个条件时退出
continue跳过本次迭代满足条件时忽略后续代码
enumerate同时获取索引与值遍历时需索引
zip并行遍历多个序列合并对应元素

掌握循环是编程进阶的关键一步。合理选择循环类型、善用控制语句和现代 Python 迭代技巧,可以让你的代码更高效、更优雅。


📚 相关推荐阅读


如果这篇文章对你有帮助,欢迎点赞、评论、收藏,你的支持是我持续分享的动力!🎉

想要解锁更多 Python 实战黑科技?搜索「道满PythonAI」,海量免费教程随你练,边学边练进步更快! 下一篇想学 Python 什么内容?评论区告诉我!觉得有用就点赞 + 关注,持续更新干货~ 在这里插入图片描述