【Python 学习第 38 天】for 循环
学习日期:2026-10-23
知识点:for 循环
难度:0.6
一、今日知识点
今天学习的是 for 循环。
for 循环用于遍历可迭代对象(如列表、字符串、range() 等)中的每个元素,并对每个元素执行一次循环体。语法为 for 变量 in 可迭代对象:,循环体需要缩进。range(n) 生成 0 到 n-1 的整数序列,常用于固定次数的循环。循环变量在每次迭代时自动更新,循环结束后变量保留最后一个值。示例:
python
for i in range(3):
print(i)
## 二、详细解析
### 概念说明
`for` 循环是 Python 中最常用的循环结构,它的作用是"逐个取出"一个可迭代对象中的元素,每取出一个就执行一次循环体。你可以把它想象成流水线上的工人:传送带(可迭代对象)上依次送来零件(元素),工人(循环体)对每个零件做同样的处理。
它之所以重要,是因为很多任务本质上是"对一堆数据中的每一项做同样的事"------比如统计列表总和、遍历字符串的每个字符、重复执行固定次数的操作。`for` 循环让这类重复劳动变得简洁、可读,避免手写大量重复代码。
### 语法与用法
核心语法规则:
- 基本形式:`for 变量 in 可迭代对象:`,冒号不能省略。
- 循环体必须缩进(通常 4 个空格),缩进决定了哪些语句属于循环。
- 常见可迭代对象:列表、字符串、元组、字典、`range()` 等。
- `range(n)` 生成 `0` 到 `n-1` 的整数序列;`range(a, b)` 生成 `a` 到 `b-1`;`range(a, b, step)` 可指定步长。
- 循环变量在每次迭代时自动被赋值为当前元素,无需手动更新。
- 循环结束后,循环变量会保留最后一次的值(若循环体从未执行,则变量不存在)。
### 示例代码
示例一:遍历列表并累加
```python
numbers = [10, 20, 30]
total = 0
for n in numbers: # 依次取出 10、20、30
total += n # 累加到 total
print(total) # 输出 60
示例二:用 range 做固定次数循环,并遍历字符串
python
# 打印 0 到 4
for i in range(5):
print(i)
# 遍历字符串的每个字符
word = "Python"
for ch in word:
print(ch) # 依次输出 P y t h o n
# 带步长:输出 0 2 4
for i in range(0, 6, 2):
print(i)
常见坑
- 忘记缩进或缩进不一致 :循环体没缩进会报
IndentationError;缩进层级写错,可能导致某些语句意外地在循环外只执行一次。 - 误以为
range(n)包含 n :range(5)是0~4,不含 5。想包含 5 应写range(1, 6)。 - 在循环中修改正在遍历的列表:边遍历边增删元素会导致跳过元素或行为难以预测,建议先复制一份再遍历,或改用其他方式。
小结
for 循环就是"对可迭代对象中的每个元素各执行一次循环体",掌握它、range() 的边界规则和缩进要求,就能处理绝大多数重复性任务。
三、今日练习
第 1 题 ✅
**题目:**以下代码的输出是什么?
python
total = 0
for num in [1, 2, 3, 4]:
total += num
print(total)
- 我的答案:
A
第 2 题 ❌
**题目:**填空:以下代码用于计算 1 到 5 的平方和,请补全缺失的代码。
python
sum_sq = 0
for i in range(____):
sum_sq += i * i
print(sum_sq)
请填写 range 括号内的内容(只填数字或表达式)。
- 我的答案:
1,6 - 正确答案:
6
第 3 题 ✅
**题目:**以下代码的输出是什么?
python
x = 7
if x > 5:
print("A")
elif x > 3:
print("B")
else:
print("C")
- 我的答案:
A
四、今日总结
- 题目数量:3
- 答对:2
- 正确率:67%
本文由个人 Python 学习智能体自动生成