Python中的else語句整理
Python是一種面向?qū)ο蟆⒅弊g式計(jì)算機(jī)程序設(shè)計(jì)語言,也是一種功能強(qiáng)大而完善的通用型語言,已經(jīng)具有十多年的發(fā)展歷史,成熟且穩(wěn)定。這種語言具有非常簡(jiǎn)捷而清晰的語法特點(diǎn),適合完成各種高層任務(wù),幾乎可以在所有的操作系統(tǒng)中運(yùn)行。目前,基于這種語言的相關(guān)技術(shù)正在飛速的發(fā)展,用戶數(shù)量急劇擴(kuò)大,相關(guān)的資源非常多。下面為大家總結(jié)Python中的else語句。
if-else語句:
和各種語言相同的用法,在條件語句中,與if語句搭配使用的else語句。如果if語句的條件表達(dá)式的結(jié)果布爾值為假,那么程序?qū)?zhí)行else語句后的代碼。它的語法是大家最為熟知的:
Python代碼
- if expression:
- expr_true_suite
- else:
- expr_false_suite
elif(else-if)語句:
elif是python提供的else-if語句,它檢查多個(gè)條件表達(dá)式的值是否為真,并在為真時(shí)執(zhí)行特定代碼塊中的代碼。和else一樣,elif是可選的,但是要注意的是,一個(gè)if語句可以跟多個(gè)elif語句,但最后只能有一個(gè)else語句:
Python代碼
- if expression1:
- expr1_true_suite
- elif expression2:
- expr2_true_suite
- elif expressionN:
- exprN_true_suite
- else:
- none_of_the_above_suite
while-else/for-else語句:
在其他語言中,除了條件語句,是不會(huì)見到else分支的,但在Python中,while和for循環(huán)中,也是可以使用else語句的。它們的工作順序?yàn)椋涸谘h(huán)中使用時(shí),else語句只在循環(huán)完成后執(zhí)行,也就是說,break語句也會(huì)跳過else代碼塊,只要循環(huán)是正常結(jié)束,而不是通過break,else語句就會(huì)執(zhí)行。
while-else舉例:
Python代碼
- #!/usr/bin/env python
- # 尋找最大約數(shù)
- def showMaxFactor(num):
- count=num/2
- while count>1:
- if num%count == 0:
- print 'largest factor of %d is %d' % (num,count)
- break
- count -=1
- else:
- print num,'is prime'
- for i in range(10,21):
- showMaxFactor(i)
程序的執(zhí)行結(jié)果為:
largest factor of 10 is 5
11 is prime
largest factor of 12 is 6
13 is prime
largest factor of 14 is 7
largest factor of 15 is 5
largest factor of 16 is 8
17 is prime
largest factor of 18 is 9
19 is prime
largest factor of 20 is 10
try-else語句:
對(duì)于python中的錯(cuò)誤和異常,try-except語句段,也可以和else連用,其功能和循環(huán)中的else語句沒有多大區(qū)別:在try范圍內(nèi)沒有檢測(cè)到異常的時(shí)候,執(zhí)行else子句。看一下語法:
Python代碼
- try:
- log = open('logfile.txt','w')
- except:
- print 'file logfile.txt is not exsit'
- else:
- log.write('no exception caught')
- log.close()
當(dāng)然,在異常處理中,else一樣可以和finally聯(lián)用:try-except-else-finally。
【編輯推薦】