Python語言中與else有關的

2021-06-22 13:01:58 字數 1570 閱讀 4766

if-else語句:

和各種語言相同的用法,在條件語句中,與if語句搭配使用的else語句。如果if語句的條件表示式的結果布林值為假,那麼程式將執行else語句後的**。它的語法是大家最為熟知的:

python**

if expression:

expr_true_suite

else:

expr_false_suite

elif(else-if)語句:

elif是python提供的else-if語句,它檢查多個條件表示式的值是否為真,並在為真時執行特定**塊中的**。和else一樣,elif是可選的,但是要注意的是,乙個if語句可以跟多個elif語句,但最後只能有乙個else語句:

python**

if expression1:

expr1_true_suite

elif expression2:

expr2_true_suite

elif expressionn:

exprn_true_suite

else:

none_of_the_above_suite  

在其他語言中,除了條件語句,是不會見到else分支的,但在python中,while和for迴圈中,也是可以使用else語句的。它們的工作順序為:在迴圈中使用時,else語句只在迴圈完成後執行,也就是說,break語句也會跳過else**塊,只要迴圈是正常結束,而不是通過break,else語句就會執行。

python**

items=

keys=

for key in keys:

for item in items:

if item==key:

print key,'was found'

break

else:

print key,'not found'

輸出:i love you was found

(4, 5) was found

my name is tom was found

ok not found

在上述**中,使用了兩個for迴圈,並且兩個迴圈在同時執行:外層迴圈掃瞄鍵列表,內層迴圈為每個鍵掃瞄元素列表。迴圈中的else分句的巢狀是關鍵的,其縮排至和內層for迴圈首行相同層次,因此是和內層迴圈相關聯的。break關鍵字在巢狀的迴圈總出現,如果符合條件那麼跳出的內迴圈。

try-else語句:

對於python中的錯誤和異常,try-except語句段,也可以和else連用,其功能和迴圈中的else語句沒有多大區別:在try範圍內沒有檢測到異常的時候,執行else子句。看一下語法:

python**

try:

log = open(logfile.txt,w)

except:

print file logfile.txt is not exsit

else:

log.write(no exception caught)

log.close()

當然,在異常處理中,else一樣可以和finally聯用:try-except-else-finally。

C語言中的「else懸掛」問題

在c語言中,編譯器通常將else與上乙個 最近的 if進行匹配,除非通過花括號來制定匹配關係。看下面乙個例子 example 1 x 11,y 9 include int main 其輸出為 由於else是與最近的if響匹配,所以上述 實際上與下面的 功能一致 example 2 x 11,y 9 ...

C語言中「 」與「 」有什麼區別?

這雖然是個小問題,但有時候很容易讓人迷惑,因為有的時候用混淆了,程式編譯不通過。下面說說我對它們的理解。一般情況下用 只需要宣告乙個結構體。格式是,結構體型別名 結構體名。然後用結構體名加 加網域名稱就可以引用域 了。因為自動分配了結構體的記憶體。如同 int a 一樣。而用 則要宣告乙個結構體的指...

C語言中「 」與「 」有什麼區別?

這雖然是個小問題,但有時候很容易讓人迷惑,因為有的時候用混淆了,程式編譯不通過。下面說說我對它們的理解。一般情況下用 只需要宣告乙個結構體。格式是,結構體型別名 結構體名。然後用結構體名加 加網域名稱就可以引用域 了。因為自動分配了結構體的記憶體。如同 int a 一樣。而用 則要宣告乙個結構體的指...