当前位置:首页>python>第 24 课 Python for循环语句

第 24 课 Python for循环语句

  • 2026-09-02 15:55:44
第 24 课 Python for循环语句

💬欢迎学习本节课,学习过程中遇到疑问、代码报错,可以在评论区留言,一起交流学习!

一、什么是for循环

for循环也叫遍历循环,专门用来遍历可迭代对象,把对象里面每一个元素依次取出来执行代码块。

简单理解:把列表、字符串、元组、字典、数字序列里面的数据,逐个拿出来处理。

while循环:适合循环次数不确定,靠条件判断结束循环。

for循环:适合明确要遍历哪些数据,遍历完自动结束循环。

基础语法

for 变量 in 可迭代对象:    循环体代码
for、in:Python关键字,不能修改
变量:每次循环接收从对象取出的元素
可迭代对象:列表、字符串、元组、字典、range()等
末尾必须写冒号:,循环体必须缩进(4个空格)

二、range()函数(for循环高频搭档)

range()用来生成一串整数序列,本身不会直接产出列表,是专门给for循环使用的可迭代对象。

三种使用格式:

1. range(结束值):从0开始,不包含结束数字

2. range(起始值,结束值):包含起始,不包含结束

3. range(起始,结束,步长):步长,每次增加多少,可以写负数实现倒序

代码案例

# 1.range(5) → 0,1,2,3,4for i in range(5):    print(i)# 2.range(1,6) →1 2 3 4 5for i in range(1,6):    print(i)#3.步长2,取0,2,4,6,8for i in range(0,10,2):    print(i)#4.倒序,从10到1,步长-1for i in range(10,0,-1):    print(i)
⚠️特殊细节:range的结束数字永远取不到,新手高频踩坑点!

三、for循环遍历各类数据

1.遍历列表

fruit_list = ["苹果","香蕉","橙子"]for fruit in fruit_list:    print(f"水果:{fruit}")
2.遍历字符串:逐个取出字符
s = "python"for char in s:    print(char)
3.遍历元组
t = (10,20,30)for num in t:    print(num)
4.遍历字典(重要特殊知识点)

直接for k in dict只能拿到键key;

.items()同时拿到键和值;

.values()只拿值;.keys()只拿键。

student = {"name":"小明","age":18,"gender":"男"}# 只遍历keyfor k in student:    print(k)# 同时取键、值,最常用for k,v in student.items():    print(f"{k} → {v}")
5.enumerate() 遍历同时获取索引

很多场景既想要下标,又想要元素,使用enumerate()。

names = ["张三","李四","王五"]# start设置索引起始数字,默认0for index,name in enumerate(names,start=1):    print(f"第{index}个人:{name}")
四、循环控制:break 和 continue

break:直接彻底跳出整个for循环,循环立刻结束

for i in range(1,10):    if i == 5:        break    print(i)#输出1 2 3 4,遇到5直接终止
continue:跳过本次循环,直接进入下一轮循环

不会终止循环,仅仅跳过当前这一次后面代码。

for i in range(1,6):    if i ==3:        continue    print(i)#输出1 2 4 5,i等于3的时候跳过print
对比记忆:

break → 完全结束循环

continue → 跳过这一轮,后面继续跑

五、Python独有语法:for ... else

⚠️非常特殊:else属于for,不属于if!缩进和for对齐,只有循环正常遍历完毕,没有被break打断,才会执行else里面代码;如果触发break,else不执行。

案例1:循环完整跑完,执行else

for i in range(3):    print(i)else:    print("循环全部执行完成")
案例2:被break打断,else不会运行
for i in range(3):    if i ==1:        break    print(i)else:    print("循环全部执行完成") # 这一句不会输出
实战用途:查找数据,如果遍历完都没找到目标,在else中做提示。

六、嵌套for循环

for循环里面再写for循环,外层循环执行1次,内层循环完整跑完一遍。

简单案例:打印九九乘法表

for i in range(1,10):    for j in range(1,i+1):        print(f"{j}×{i}={i*j}",end="\t")    print() #换行
注意:嵌套循环注意缩进;多层嵌套运行速度会变慢,大数据尽量少写多层嵌套。

七、重点易错&特殊知识点(必看)

1. 遍历的时候不要修改原列表(删除、增加元素)

遍历列表同时删除元素,会发生索引错乱,元素被漏掉。

❌错误示范:

nums = [1,2,3,4,5]for n in nums:    if n ==2:       nums.remove(n)
✅解决办法:遍历副本,或者新建列表保存结果
nums = [1,2,3,4,5]new_list = []for n in nums:    if n !=2:       new_list.append(n)print(new_list)
2. for循环变量,循环结束后不会消失,会保留最后一次的值
for x in range(3):    passprint(x) #输出2,变量x依旧存在
3. range是左闭右开,结束数字取不到,是新手最高频错误。

4. 字典遍历:直接for循环只能拿到key,想要value需要.items()|.values()。

5. for‑else 的else是绑定for,不是if,缩进千万不要搞错。

6. for只能遍历可迭代对象,整数数字不能直接写for i in 10,会报错,数字必须搭配range。

八、本节课练习题

题目1(基础)

使用for循环,输出1~20之间所有的偶数。

题目2(中等)

给定列表data = [11,22,33,44,55],利用for循环+continue,跳过33,打印其余所有数字。

题目3(拓展 for‑else)

编写程序,遍历1‑20,查找数字13;如果找到打印"找到了13"并且break;如果循环结束都没有找到,else中打印“没有找到目标数字”。

💬练习完有报错或者看不懂知识点,欢迎在评论区留言提问,一起巩固知识点!

最新文章

随机文章