Python中else的三种使用场景

 更新时间:2021年06月15日 17:16:07   作者:一撸程猿  
在Python中else最常见的用法就是用在判断语句中,其实还可以用在循环语句和异常处理中。 下面来总结一下else的用法:

判断语句

这是最常见的用法,当if语句中的条件不满足时,将执行else语句中的代码。

a = False
if a:
    print("a为真")
else:
    print("a为假")

循环语句

如果else子句紧接在循环语句的后面,那么在以下两种情况将会执行else子句的代码:
当循环体没有执行break的时候,即循环体正常结束

print("两次输入机会")
for i in range(2):
    num = int(input("请输入一个数字:"))
    if 10 == num:
        print("10 == num,触发break,不会执行else子句")
        break
else:
    print("循环体没有执行break语句,执行else子句")
print("程序结束")

执行代码:
当触发break时,不会执行else子句:

两次输入机会
请输入一个数字:1
请输入一个数字:10
10 == num,触发break,不会执行else子句
程序结束

当没有触发break时,执行else子句:

两次输入机会
请输入一个数字:2
请输入一个数字:3
循环体没有执行break语句,执行else子句
程序结束

当while循环体完全不执行时也会执行紧跟在后面的else子句

while False:
    pass
else:
    print("循环体不执行,我也会执行")
# 执行后的输出结果:
# 循环体不执行,我也会执行

异常处理

当没有发生异常的时候会执行紧跟在异常处理代码后面的else子句

num1 = int(input("输入一个整数:"))
num2 = int(input("输入另外一个整数:"))
print('-'*20)
try:
    print("{}/{}=".format(num1,num2),num1//num2)
except ZeroDivisionError:
    print("输入非法,ZeroDivisionError")
else:
    print("输入合法")
print("程序结束")

代码执行: 当没发生异常时:

输入一个整数:2
输入另外一个整数:1
----------------------------------------
2/1= 2
输入合法
程序结束

发生异常时:

输入一个整数:2
输入另外一个整数:0
----------------------------------------
输入非法,ZeroDivisionError
程序结束

总结

else子句的触发条件:

  • 在判断语句中,当if语句条件不满足时会就执行else子句的代码
  • 在循环语句中,当循环体没有执行或者循环体里执行了break语句
  • 在异常处理中,当没有发生异常时会执行else子句

以上就是Python中else的三种用法的详细内容,更多关于Python else用法的资料请关注脚本之家其它相关文章!

相关文章

  • python 定义函数 返回值只取其中一个的实现

    python 定义函数 返回值只取其中一个的实现

    这篇文章主要介绍了python 定义函数 返回值只取其中一个的实现操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • 20行python代码实现人脸识别

    20行python代码实现人脸识别

    这篇文章主要介绍了python人脸识别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • python GUI库图形界面开发之PyQt5布局控件QHBoxLayout详细使用方法与实例

    python GUI库图形界面开发之PyQt5布局控件QHBoxLayout详细使用方法与实例

    这篇文章主要介绍了python GUI库图形界面开发之PyQt5布局控件QHBoxLayout详细使用方法与实例,需要的朋友可以参考下
    2020-03-03
  • python发送json参数的实例代码

    python发送json参数的实例代码

    在写脚本的过程中,除了发送form表单参数之外,我们还会发送json格式的参数。那么碰见json格式要怎么发送呢,这篇我们来解决这个问题,需要的朋友可以参考下
    2019-10-10
  • pytest解读fixtures中yield与addfinalizer区别

    pytest解读fixtures中yield与addfinalizer区别

    这篇文章主要为大家介绍了pytest官方解读fixtures中yield与addfinalizer区别,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • python使用SMTP发送qq或sina邮件

    python使用SMTP发送qq或sina邮件

    这篇文章主要为大家详细介绍了python使用SMTP发送qq或sina邮件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • Django密码系统实现过程详解

    Django密码系统实现过程详解

    这篇文章主要介绍了Django密码系统实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • python sklearn包——混淆矩阵、分类报告等自动生成方式

    python sklearn包——混淆矩阵、分类报告等自动生成方式

    今天小编就为大家分享一篇python sklearn包——混淆矩阵、分类报告等自动生成方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • selenium+unittest实现web自动化的示例代码

    selenium+unittest实现web自动化的示例代码

    本文主要介绍了selenium+unittest实现web自动化的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Python科学计算之NumPy入门教程

    Python科学计算之NumPy入门教程

    这篇文章主要介绍了Python科学计算之NumPy,文中给出了详细的介绍与示例代码,对大家的理解具有一定的参考借鉴价值,有需要的朋友可以一起来学习学习。
    2017-01-01

最新评论