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

相关推荐
小徐_23335 小时前
Wot UI 2.2.0 发布:Button 新增 subtle,VideoPreview 预览体验继续增强
前端·微信小程序·uni-app
天蓝色的鱼鱼7 小时前
关于 CSS 你可能不知道的属性,但关键时刻很有用
前端·css
SelectDB7 小时前
Apache Doris Python UDF:让 SQL 直接调用 Python 生态,支撑 Agent 时代复杂业务逻辑
大数据·数据库·python
泯泷8 小时前
第 2 篇:设计第一套字节码:Opcode、Instruction 与 Constant Pool
前端·javascript·安全
妙码生花8 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(十五):优化细节、网络请求封装
前端·后端·ai编程
泯泷8 小时前
第 1 篇:从 1 + 2 开始:亲手写出第一台 JSVM
前端·javascript·安全
团团崽_七分甜8 小时前
Spring Boot 核心知识点总结
前端
lichenyang4538 小时前
从一个按钮开始,理解 ASCF 框架到底在做什么
前端
古夕9 小时前
第三方 SSO 接入实践:redirect_uri 编码、回调一致性与跨项目联调
前端·vue.js