You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中for循环后的else语句如何工作?

Python中for循环后else语句的工作原理

Python里的for/else结构和你熟悉的if/else逻辑完全不同,核心规则很简单:只有当循环正常完成所有迭代(没有被break语句中断)时,else块里的代码才会执行。

你的示例代码分析

看你给出的这段代码:

for i in range(5):
     print(i)
else:
    print("done")

循环会依次迭代range(5)里的0、1、2、3、4,每一次迭代都打印当前的i值。因为整个循环没有被任何break打断,完整跑完了所有5次迭代,所以循环结束后会立刻执行else块里的代码,最终输出顺序是:

0
1
2
3
4
done

用break验证逻辑

如果在循环里加入break强制终止循环,else块就不会执行,比如:

for i in range(5):
    print(i)
    if i == 2:
        break  # 当i等于2时直接终止循环
else:
    print("done")

这段代码的输出只会是:

0
1
2

因为循环被break提前中断,没有完成所有迭代,所以else块的代码不会被触发。

补充说明

这个逻辑同样适用于while循环后的else块——只要循环是正常结束(不是被break打断),else就会执行。很多人一开始会误解这个结构,记住核心:else在这里的含义更接近“循环完成后”,而非“循环不成立时”。

内容的提问来源于stack exchange,提问作者python_1239

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 03:15:40