当前位置:首页>python>《Python 从入门到精通》025 | for 循环入门:遍历,是 Python 最重要的思想之一

《Python 从入门到精通》025 | for 循环入门:遍历,是 Python 最重要的思想之一

  • 2026-09-05 22:04:46
《Python 从入门到精通》025 | for 循环入门:遍历,是 Python 最重要的思想之一

这一篇很重要。很多人真正开始觉得 Python “顺手”,往往就是从 for 循环开始的。

上一篇你已经学会了 while。

只要条件成立,就重复执行。 它很适合处理“什么时候停”比较明确的场景。

但 Python 里,还有另一种更常用的循环:

for

如果说 while 更像是在问:

条件还成立吗

那 for 更像是在问:

这一组东西,我要一个一个处理,怎么写更自然

比如:

把 1 到 5 依次打印出来 把一个名字里的每个字符依次取出来 把一组成绩一个个处理 把一句话里的每个字一个个读出来

你会发现,这类问题的重点不再是“条件”, 而是“一组数据”以及“逐个处理”。

这就是 for 最擅长的地方。

你可以先记住一句最核心的话:

for 循环,就是把一组东西一个一个拿出来处理。

一、什么是 for 循环

先说最直白的理解。

for 循环的作用是:

从一组数据里,依次取出每个元素,然后执行同样的代码。

你可以把它想成生活里的这种动作:

把一袋苹果一个一个拿出来检查 把名单上的名字一个一个念出来 把作业本一本一本收上来 把一句话里的每个字一个一个看过去

这些动作,本质上都很像 for。

所以 for 不是“无条件重复”, 而是“按顺序处理一组内容”。

二、先看 for 的基本结构

最基础的 for 写法长这样:

for 变量 in 一组数据:    重复执行的代码

这个结构你先别急着背, 我们直接翻译成人话:

对于这一组数据里的每一个元素, 都把它交给前面的变量, 然后执行下面缩进的代码。

是不是一下就没那么抽象了。

比如:

for char in'Python':    print(char)

这句代码的人话就是:

把字符串 Python 里的字符,一个一个拿出来, 每次拿出来一个,就交给变量 char, 然后打印它。

三、先看第一个最简单的 for 例子

直接运行下面这段:

for char in'Python':    print(char)

输出结果会是:

Python

这段代码特别值得你慢慢看懂。

字符串 'Python' 本身可以看成一组字符:

P y t h o n

for 每一轮都会拿出其中一个字符, 交给变量 char。

于是程序执行过程大概是这样:

第一轮,char = 'P',打印 P 第二轮,char = 'y',打印 y 第三轮,char = 't',打印 t ……

直到全部字符都拿完,循环结束。

这就是 for 最基础的运行方式。

四、for 循环里最重要的,不是语法,而是“一个一个拿出来”这个感觉

很多新手第一次看 for,容易把注意力全放在:

forin冒号 缩进

当然这些都重要。 但真正更关键的是你要建立这个感觉:

for 是在从一组东西里,一个一个取值

还是刚才这个例子:

for char in'Python':    print(char)

这里不是“重复 6 次打印同一句话”。 而是:

每次拿到的 char 都不一样

所以你要慢慢形成一个很重要的直觉:

for 循环的每一轮,不一定是完全相同的 因为每次拿到的数据可能不同

这和 while 的思维其实不太一样。

五、for 里的变量名可以自己取

比如刚才我们写的是:

for char in'Python':    print(char)

这里的 char 只是一个变量名。 你完全可以换成别的名字,比如:

for x in'Python':    print(x)

结果完全一样。

但为什么更推荐写成 char

因为它更清楚。char 一看就知道是 character,也就是字符。 你以后读代码时,也会更容易理解。

所以一个很实用的建议是:

变量名尽量和当前拿出来的东西有关

比如遍历名字列表时可以叫 name遍历分数时可以叫 score遍历字符时可以叫 char

这样代码会清楚很多。

六、for 不只是能遍历英文字符串,中文也可以

比如:

for char in'你好世界':    print(char)

输出会是:

你好世界

这说明什么。

说明 for 不在乎你这一组数据是中文还是英文。 只要它是能一个一个取出元素的内容,就可以遍历。

所以以后你处理中文文本时,for 也一样很有用。

七、for 循环特别适合处理字符串

因为字符串本来就可以看成“由一个个字符组成”。

比如你想看一段文字里到底有哪些字符, 就可以这样写:

text = input('请输入一段文字:')for char in text:    print(char)

如果用户输入:

Python

程序就会逐个打印:

Python

如果用户输入:

我爱Python

程序也会一个一个处理。

这个例子特别能帮助你体会:

for 循环的重点,不是固定重复多少次 而是把一整段内容拆开,一项一项处理

八、先做一个最简单的“逐字打印”练习

这个练习特别适合现在做。

text = input('请输入一句话:')for char in text:    print(char)

你可以试着输入:

你好 Python 我正在学习 Python

然后观察输出。

这个练习很有价值, 因为它会让你非常直观地感受到:

原来一整句话,在程序里真的可以被拆成一个一个字符去处理

这就是遍历思维的开始。

九、for 和 while 的区别,到这里要开始真正分清了

这是个特别重要的点。

while 更关注条件。

比如:

count = 1while count <= 5:    print(count)    count += 1

这里你要自己控制变量变化, 靠条件来决定什么时候停。

而 for 更关注一组数据。

比如:

for char in'Python':    print(char)

这里你不用自己管“下一轮该取谁”。for 会自动帮你一个一个拿。

所以一句话总结:

while 更像“只要条件成立就继续”for 更像“把这一组内容逐个处理”

你以后写代码时, 要慢慢学会判断哪种场景更适合哪种循环。

十、for 循环里也可以写多行代码

和 if、while 一样,for 下面也不是只能写一行。

比如:

for char in'Hi':    print('当前字符是:')    print(char)

输出会是:

当前字符是:H当前字符是:i

这说明:

for 每一轮都会执行整个缩进代码块

而不是只执行第一句。

这个和前面学过的代码块概念是完全一致的。

十一、for 循环现在也可以配合计数变量一起用

虽然 for 本身不强调条件控制, 但你一样可以在循环内部自己维护变量。

比如:

count = 1for char in'Python':    print(f'第{count}个字符是:{char}')    count += 1

输出效果大概会是:

第1个字符是:P第2个字符是:y第3个字符是:t第4个字符是:h第5个字符是:o第6个字符是:n

这个例子很好, 因为它把你前面学过的变量更新和现在的 for 循环串起来了。

你会发现,知识点之间其实是会慢慢连起来的。

十二、for 现在最常见的搭档之一,就是字符串

因为当前阶段你最熟悉、最适合遍历的数据, 就是字符串。

比如下面这些都很自然:

遍历名字中的每个字:

name = '小明'for char in name:    print(char)

遍历一句欢迎语:

message = '欢迎学习Python'for char in message:    print(char)

遍历用户输入的一段文本:

text = input('请输入内容:')for char in text:    print(char)

你现在先把字符串遍历练顺, 后面学列表、元组这些容器时,for 会更容易上手。

十三、很多人第一次学 for 时,会把 in 看得很神秘

其实不用。

在这里你可以把 in 非常朴素地理解成:

在……里面

比如:

for char in'Python':    print(char)

你就可以翻译成:

对于 'Python' 里面的每一个字符,进行处理

再比如:

for char in text:    print(char)

翻译成:

对于 text 里面的每一个字符,进行处理

所以 in 在 for 里,一点都不玄乎。 它就是在表达“从这一组内容里取元素”。

十四、自己做一个“统计输入次数”的小练习

虽然下一篇会专门讲 range(), 但现在我们先用最简单的固定字符串遍历,来感受 for 的节奏。

比如:

word = 'abcde'count = 0for char in word:    count += 1    print(f'当前字符:{char},当前计数:{count}')

这个练习特别适合现在做。 因为它能帮你同时练到:

字符串遍历 变量累加 循环里状态变化

你会更明显地感受到:

for 不只是拿出来看看 它还能一边遍历,一边做统计

十五、for 循环里最怕的误区,不是语法,而是没理解“每轮值会变”

比如:

for char in'123':    print(char)

这里每一轮的 char 都不是固定的。

第一轮是 '1'第二轮是 '2'第三轮是 '3'

这点非常关键。

因为一旦你没意识到“每轮值会变”, 你就会把 for 看成单纯的“重复执行”。 而这其实只看到了它的一半。

for 的真正价值是:

重复执行同样的处理逻辑 但每次处理的数据不一样

这个思维特别重要。

十六、while 和 for 都能重复,但适用感受不一样

现在你可以开始有一个初步判断了。

如果你更关心:

什么时候停 条件什么时候不成立 用户什么时候输对 变量什么时候到边界

那 while 往往很自然。

如果你更关心:

这一组内容里的每个元素都要处理一遍 我要一个一个拿出来 我不想自己维护条件和计数器

那 for 往往更自然。

当然,现在你还只是刚接触 for, 不需要一下子做特别精准的区分。 但这种方向感可以先慢慢建立起来。

十七、自己动手做一个“逐字欢迎用户”的练习

下面这个小练习很适合公众号读者跟着敲。

name = input('请输入你的名字:')for char in name:    print(f'当前字符:{char}')

如果输入:

小明

输出会是:

当前字符:小当前字符:明

如果输入:

Python

输出就会是一个个字母。

这个练习特别能帮助你感受到:

字符串在程序里,真的是可以被拆开逐个处理的

十八、for 循环里照样要注意缩进

和前面学的所有代码块一样,for 下面的内容也是靠缩进来表示“属于循环体”的。

比如:

for char in'abc':    print(char)    print('这是一轮循环')

这里两句都属于循环。 每一轮都会执行两次打印。

如果你写成:

for char in'abc':    print(char)print('这是一轮循环')

那后面这句就不在循环里了。 它只会在整个循环结束后执行一次。

所以你以后看 for 时, 一定要非常敏感地去看缩进。

十九、先做一个“把名字拆开显示”的综合练习

这个练习很简单,但特别适合现在做。

name = input('请输入你的名字:')print('你的名字拆开后是:')for char in name:    print(char)

然后你再自己升级一下:

name = input('请输入你的名字:')count = 1print('你的名字拆开后是:')for char in name:    print(f'第{count}个字符:{char}')    count += 1

这个小升级很有意义。 因为你已经不只是会遍历, 而是在循环里开始做更多事了。

二十、for 循环现在还可以拿来做什么

虽然你刚入门, 但已经可以写出一些很像样的小程序了。

比如:

逐字打印一句话 统计字符串里有多少个字符 把用户名一位一位显示出来 遍历一句欢迎语做装饰输出 把输入内容逐字检查

这些都已经很实用了。

你会慢慢发现, 程序处理文本的时候,for 特别常见。

因为文本本来就天然适合被拆成字符,一个一个处理。

二十一、现在就能做的一个有趣练习:逐字打印加装饰

比如:

text = input('请输入一句话:')for char in text:    print('---')    print(char)

如果输入:

你好

输出可能会是:

---你---好

你也可以改成:

text = input('请输入一句话:')for char in text:    print(f'【{char}】')

这类练习虽然简单, 但特别适合帮助新手建立对“逐个处理”的感觉。

二十二、今天一定要亲手完成的 3 个练习

第一个,遍历字符串。

for char in'Python':    print(char)

第二个,遍历用户输入内容。

text = input('请输入一句话:')for char in text:    print(char)

第三个,带计数的遍历。

word = 'hello'count = 1for char in word:    print(f'第{count}个字符是:{char}')    count += 1

这三个练习特别适合当前阶段。 一个练固定字符串, 一个练用户输入, 一个练循环和变量结合。

二十三、再做一个综合小练习

下面这个练习很适合作为今天的收尾。

需求:

输入一个单词或一句话,程序逐个输出其中每个字符,并告诉你当前处理的是第几个字符。

代码如下:

text = input('请输入内容:')count = 1for char in text:    print(f'第{count}个字符是:{char}')    count += 1

这个练习非常有代表性。 因为它把当前阶段几个很重要的点都串起来了:

输入 字符串 for 遍历 变量更新 格式化输出

你把这个练习真正跑顺, 对 for 的感觉会明显建立起来。

二十四、写在最后

for 循环这件事,初学时最重要的,不是你能不能一下子写出很复杂的遍历。 而是你有没有真正形成一种新思维:

一组内容,不一定要整体处理 也可以一个一个拿出来处理

这件事特别重要。

因为后面你学列表、字典、文件、数据分析、爬虫, 都会反复遇到“逐个处理元素”的场景。 而 for,正是 Python 里最自然、最核心的遍历方式之一。

所以这篇文章你如果只能记住一句话,我希望是:

for 循环,就是把一组东西,一个一个拿出来处理。

只要这句话你真懂了, 后面很多内容都会顺得多。

本文小结

for 循环用来逐个处理一组数据中的元素。 最基本结构是:

for 变量 in 一组数据:    重复执行的代码

当前阶段最适合用字符串来练习 for。for 和 while 的区别在于:while 更关注条件,for 更关注一组数据的逐个处理。 学习 for 最关键的,不是背格式,而是建立“每一轮拿到的数据可能不同”的遍历思维。 缩进在 for 中同样非常重要,它决定了哪些代码属于循环体。

下篇预告

第 26 篇,我们就要讲 for 最经典的搭档。

range() 的用法讲透:为什么循环总离不开它

到那一篇,你会真正明白,为什么写循环时经常会看到 range(),以及它到底在帮你做什么。

最新文章

随机文章