Python - else 语法总结
else 使用汇总。
问题#
阅读别人代码,有点疑惑,精简后如下:
def code_example(arg=None):
for i in range(5):
if arg:
break
else:
print('else branch')
循环语句后面直接跟了 else 语句,未报错,程序正常运行。一般 else 都是配合判断语句用,那么这里的 else 是什么作用呢?
尝试
for i in range(2):
print(i)
else:
print("else branch")
>>>
0
1
else branch
test01:根据打印信息发现,for 循环正常执行完成后执行了 else 分支;
for i in range(2):
continue
else:
print("else branch")
>>>
else branch
test02:循环体内增加 continue 跳出,执行完成循环后,正常执行 else 分支;
for i in range(2):
break
else:
print("else branch")
>>>
test03:如果 break 掉循环,打断循环,没有任何输出,也就是不走 else 分支;
def test():
for i in range(2):
return
else:
print("else branch")
>>>
test04:尝试 return 语句,打断循环,也是不走 else 分支。
结论
for … else …
- 仅当循环体全部执行完成,才执行 else 分支;
- 当循环过程被打断,则不执行 else 分支。
扩展
Python 支持 else 语句汇总:
- for … else …
- while … else …
- try … except … else …
- if … elif … else …
while
与 for 循环相同步骤测试,结论一样
try
- 当 try 内无异常执行完成后,执行 else 分支;
- 当 try 内出现异常,执行到 except,不再执行 else 分支。
def test_01():
try:
print("try")
except:
print("except")
else:
print("else")
>>>
try
else
-----------------------
def test02():
try:
5 / 0
except:
print("except")
else:
print("else")
>>>
except
总结#
- for、while 循环
当循环语句全部正常执行完成(包括 continue),会继续执行 else 分支;当循环语句被打断(break\return),不再执行 else 分支 - try 异常处理
当 try 语句无异常执行完成时,会继续执行 else 分支;当抛出异常后,不再执行 else 分支 - if 条件判断
不符合 if 或者 elif,才执行 else 分支
作者:ABEELAN
出处:https://www.cnblogs.com/abeelan/p/17203220.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!