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

相关推荐
用户新30 分钟前
V8引擎 精品漫游指南--Ignition篇(下 一) 动态执行前的事情
前端·javascript
阿里嘎多学长31 分钟前
2026-04-30 GitHub 热点项目精选
开发语言·程序员·github·代码托管
m0_613856292 小时前
mysql如何利用事务隔离级别解决特定业务冲突_mysql隔离方案选型
jvm·数据库·python
叶小鸡2 小时前
Java 篇-项目实战-苍穹外卖-笔记汇总
java·开发语言·笔记
@PHARAOH2 小时前
WHAT - GitLens vs Fork
前端
yqcoder2 小时前
前端性能优化:如何减少重绘与重排?
前端·性能优化
AI人工智能+电脑小能手2 小时前
【大白话说Java面试题】【Java基础篇】第22题:HashMap 和 HashSet 有哪些区别
java·开发语言·哈希算法·散列表·hash
我的xiaodoujiao2 小时前
API 接口自动化测试详细图文教程学习系列16--项目实战演练3
python·学习·测试工具·pytest
ID_180079054733 小时前
Python 实现亚马逊商品详情 API 数据准确性校验(极简可用 + JSON 参考)
java·python·json
时空系3 小时前
第10篇:继承扩展——面向对象编程进阶 python中文编程
开发语言·python·ai编程