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

相关推荐
fanruitian1 分钟前
python anaconda jupyter notebook
python
IT_陈寒3 分钟前
React项目实战经验分享:如何避免useEffect闭包陷阱导致的陈旧状态问题?
前端·人工智能·后端
云和数据.ChenGuang8 分钟前
Python 菜鸟入门:字典(dict)类型详解与 CRUD 实战案例
开发语言·人工智能·python
风骏时光牛马17 分钟前
智能任务调度Agent
前端
小白今天也很酷21 分钟前
MCXN947更新板载DAP_Link固件的方法
c语言·python·单片机·ubuntu·excel·1024程序员节
攻城狮Soar24 分钟前
详解volatile
开发语言·c++·1024程序员节
小羊没烦恼!24 分钟前
.NET无侵入自动化探针原理和主流实现
运维·开发语言·javascript·python·自动化·.net·1024程序员节
立康科普29 分钟前
含多肽钙的补钙产品是什么?和普通钙片有什么区别?
python·1024程序员节
ch.ju34 分钟前
Java——idea知识:Collection父接口
java·开发语言·intellij-idea
ljt272496066137 分钟前
Vue笔记(十六)--自定义Hook
前端·1024程序员节