判断语句
这是最常见的用法,当if语句中的条件不满足时,将执行else语句中的代码。
1
2
3
4
5
|
a = False
if a:
print ( "a为真" )
else :
print ( "a为假" )
|
循环语句
如果else子句紧接在循环语句的后面,那么在以下两种情况将会执行else子句的代码:
当循环体没有执行break的时候,即循环体正常结束
1
2
3
4
5
6
7
8
9
|
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
2
3
4
5
|
两次输入机会
请输入一个数字: 1
请输入一个数字: 10
10 = = num,触发 break ,不会执行 else 子句
程序结束
|
当没有触发break时,执行else子句:
1
2
3
4
5
|
两次输入机会
请输入一个数字: 2
请输入一个数字: 3
循环体没有执行 break 语句,执行 else 子句
程序结束
|
当while循环体完全不执行时也会执行紧跟在后面的else子句
1
2
3
4
5
6
|
while False :
pass
else :
print ( "循环体不执行,我也会执行" )
# 执行后的输出结果:
# 循环体不执行,我也会执行
|
异常处理
当没有发生异常的时候会执行紧跟在异常处理代码后面的else子句
1
2
3
4
5
6
7
8
9
10
|
num1 = int ( input ( "输入一个整数:" ))
num2 = int ( input ( "输入另外一个整数:" ))
print ( '-' * 20 )
try :
print ( "{}/{}=" . format (num1,num2),num1 / / num2)
except ZeroDivisionError:
print ( "输入非法,ZeroDivisionError" )
else :
print ( "输入合法" )
print ( "程序结束" )
|
代码执行: 当没发生异常时:
1
2
3
4
5
6
|
输入一个整数: 2
输入另外一个整数: 1
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2 / 1 = 2
输入合法
程序结束
|
发生异常时:
1
2
3
4
5
|
输入一个整数: 2
输入另外一个整数: 0
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
输入非法,ZeroDivisionError
程序结束
|
总结
else子句的触发条件:
- 在判断语句中,当if语句条件不满足时会就执行else子句的代码
- 在循环语句中,当循环体没有执行或者循环体里执行了break语句
- 在异常处理中,当没有发生异常时会执行else子句
以上就是Python中else的三种用法的详细内容,更多关于Python else用法的资料请关注服务器之家其它相关文章!
原文链接:https://juejin.cn/post/6972184829546725389