Python中else的三種使用場(chǎng)景
判斷語(yǔ)句
這是最常見(jiàn)的用法,當(dāng)if語(yǔ)句中的條件不滿足時(shí),將執(zhí)行else語(yǔ)句中的代碼。
a = False if a: print("a為真") else: print("a為假")
循環(huán)語(yǔ)句
如果else子句緊接在循環(huán)語(yǔ)句的后面,那么在以下兩種情況將會(huì)執(zhí)行else子句的代碼:
當(dāng)循環(huán)體沒(méi)有執(zhí)行break的時(shí)候,即循環(huán)體正常結(jié)束
print("兩次輸入機(jī)會(huì)") for i in range(2): num = int(input("請(qǐng)輸入一個(gè)數(shù)字:")) if 10 == num: print("10 == num,觸發(fā)break,不會(huì)執(zhí)行else子句") break else: print("循環(huán)體沒(méi)有執(zhí)行break語(yǔ)句,執(zhí)行else子句") print("程序結(jié)束")
執(zhí)行代碼:
當(dāng)觸發(fā)break時(shí),不會(huì)執(zhí)行else子句:
兩次輸入機(jī)會(huì) 請(qǐng)輸入一個(gè)數(shù)字:1 請(qǐng)輸入一個(gè)數(shù)字:10 10 == num,觸發(fā)break,不會(huì)執(zhí)行else子句 程序結(jié)束
當(dāng)沒(méi)有觸發(fā)break時(shí),執(zhí)行else子句:
兩次輸入機(jī)會(huì) 請(qǐng)輸入一個(gè)數(shù)字:2 請(qǐng)輸入一個(gè)數(shù)字:3 循環(huán)體沒(méi)有執(zhí)行break語(yǔ)句,執(zhí)行else子句 程序結(jié)束
當(dāng)while循環(huán)體完全不執(zhí)行時(shí)也會(huì)執(zhí)行緊跟在后面的else子句
while False: pass else: print("循環(huán)體不執(zhí)行,我也會(huì)執(zhí)行") # 執(zhí)行后的輸出結(jié)果: # 循環(huán)體不執(zhí)行,我也會(huì)執(zhí)行
異常處理
當(dāng)沒(méi)有發(fā)生異常的時(shí)候會(huì)執(zhí)行緊跟在異常處理代碼后面的else子句
num1 = int(input("輸入一個(gè)整數(shù):")) num2 = int(input("輸入另外一個(gè)整數(shù):")) print('-'*20) try: print("{}/{}=".format(num1,num2),num1//num2) except ZeroDivisionError: print("輸入非法,ZeroDivisionError") else: print("輸入合法") print("程序結(jié)束")
代碼執(zhí)行: 當(dāng)沒(méi)發(fā)生異常時(shí):
輸入一個(gè)整數(shù):2 輸入另外一個(gè)整數(shù):1 ---------------------------------------- 2/1= 2 輸入合法 程序結(jié)束
發(fā)生異常時(shí):
輸入一個(gè)整數(shù):2 輸入另外一個(gè)整數(shù):0 ---------------------------------------- 輸入非法,ZeroDivisionError 程序結(jié)束
總結(jié)
else子句的觸發(fā)條件:
- 在判斷語(yǔ)句中,當(dāng)if語(yǔ)句條件不滿足時(shí)會(huì)就執(zhí)行else子句的代碼
- 在循環(huán)語(yǔ)句中,當(dāng)循環(huán)體沒(méi)有執(zhí)行或者循環(huán)體里執(zhí)行了break語(yǔ)句
- 在異常處理中,當(dāng)沒(méi)有發(fā)生異常時(shí)會(huì)執(zhí)行else子句
以上就是Python中else的三種用法的詳細(xì)內(nèi)容,更多關(guān)于Python else用法的資料請(qǐng)關(guān)注本站其它相關(guān)文章!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。