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 中常见的用法。它们可以帮助你在特定条件或循环的情况下执行不同的代码逻辑,或者在异常处理中提供额外的操作。根据具体的需求和场景,你可以选择适当的用法来实现所需的功能。

相关推荐
hoiii1875 小时前
C# Txt/Excel/Access 导入导出工具
开发语言·c#·excel
代码中介商5 小时前
C++ 智能指针完全指南(二):shared_ptr 深度详解
开发语言·c++
lichenyang4535 小时前
聊天历史从 Preferences 搬到关系型数据库(RDB):为什么换、怎么换、踩了什么坑
前端
用什么都重名5 小时前
Python文本匹配利器:FlashText与RapidFuzz深度对比
python·flash text·rapidfuzz
@Ma5 小时前
Python 实现企业微信外部群主动消息发送及成功接入后如何避坑,避免风控封号
开发语言·python·企业微信
DXM05215 小时前
第10期| 卷积神经网络CNN通俗详解:AI遥感的底层核心
人工智能·python·神经网络·机器学习·arcgis·cnn·文心一言
HjhIron6 小时前
从栈到队列,再到链表:前端开发者必知的线性数据结构
前端·javascript
PedroQue996 小时前
uni-app路由管理神器:vue-router风格体验
前端·uni-app
Hello:CodeWorld6 小时前
AI Agent:从核心原理、架构框架到工程实战,大模型时代的自主智能革命
大数据·人工智能·python·架构
用户1733598075376 小时前
花两周用 Vue 3 做了个 PDF 工具站,我在生产环境踩了 8 个坑
前端·vue.js