Python中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用法的資料請關註WalkonNet其它相關文章!

推薦閱讀: