Python中的else魔法:不止是if

写在前面

提到else,肯定会对应一个if。虽然在许多编程语言中这都是正确的,但 Python 却不是。Python 的else语句有着更广泛的用途。从循环语句后的else到try-except块后的else...,本文将探讨else语句鲜为人知的功能。

1. if-else

else 可以与 if 一起使用,这也是最常用的一种结构。表示在 if 条件不满足时执行的代码块。例如:

python 复制代码
x = 5
if x > 10:
    print("x 大于 10")
else:
    print("x 不大于 10")

2. for-else

else 可以与 for循环一起使用,表示在循环正常结束后执行的代码块。如果循环中没有遇到 break 语句中断循环,则执行 else 块中的代码。例如:

python 复制代码
fruits = ['苹果', '香蕉', '橙子']
for fruit in fruits:
    if fruit == '橙子':
        break
    print(fruit)
else:
    print("没有循环被中断")

需要注意的是,如果for循环正常结束就不会执行else代码

3. try-except-else

else 可以与异常处理的 try-except 块一起使用。当 try 块中的代码没有引发异常时,执行 else 块中的代码;如果发生异常,则跳过 else 块。例如:

python 复制代码
try:
    result = 10 / 2
except ZeroDivisionError:
    print("除数不能为零")
else:
    print("计算结果:", result)

注意,只用不发生异常才会执行else语句

4. while-else

else 可以与 while 循环一起使用,表示在循环条件不满足时执行的代码块。当循环条件为 False 时,执行 else 块中的代码。例如:

python 复制代码
count = 0
while count < 5:
    print(count)
    count += 1
else:
    print("循环结束")

注意,while循环结束执行else语句

5. with-else

else 可以与 with 语句一起使用,用于在资源管理方面的情况下执行清理操作。else 块中的代码将在 with 块正常结束后执行。例如:

python 复制代码
with open("file.txt", "r") as file:
    content = file.read()
    # 执行文件操作
else:
    print("文件操作完成")

注意,如何产生异常,则不会执行else语句

写在最后

这些是 else 关键字在 Python 中常见的用法。它们可以帮助你在特定条件或循环的情况下执行不同的代码逻辑,或者在异常处理中提供额外的操作。根据具体的需求和场景,你可以选择适当的用法来实现所需的功能。

相关推荐
微学AI1 小时前
一根针指向所有方向:挂谷猜想对 LLM Agent 技能-记忆架构的启示
开发语言·人工智能·架构·挂谷猜想
郭老二1 小时前
【前端】vue3:编译步骤
前端
长和信泰光伏储能2 小时前
京津冀光伏发电:绿色能源的未来之路
python·能源
豆瓣鸡2 小时前
算法日记 - Day3
java·开发语言·算法
浦信仿真大讲堂2 小时前
从重复操作到自动化闭环:如何让 CST 与 Python 真正协同起来
python·自动化·cst·仿真软件·达索软件
不在逃避q2 小时前
Trae/Vs Code/Cursor命令行无法跑npm命令
前端·arcgis·npm
夏殇之殁2 小时前
包中创建自定义列表项。 . 使用自定义列表项进行数据绑定 . 将天气预报数据保存到本地内存表,通过LiveBindings进行显示。 ...
服务器·前端·javascript
韭菜炒鸡肝天2 小时前
VTK开发笔记(一):VTK介绍,Qt..+VSx+VTK.编译
开发语言·笔记·qt
The Chosen One9852 小时前
高进度算法模板速记(待完善)
java·前端·算法
Gu Gu Study3 小时前
ScoutLoop开放域深度研究引擎(agent的初步设计想法)
人工智能·python