首頁  >  文章  >  後端開發  >  Python循環語句中else的用法總結

Python循環語句中else的用法總結

高洛峰
高洛峰原創
2017-02-23 11:32:162297瀏覽

前言

本文討論Python的for…elsewhile…else等文法,這些是Python中最不常用、最誤解的語法特性之一。

Python中的forwhile等迴圈都有一個可選的else分支(類似if語句和try語句那樣),在迴圈迭代正常完成之後執行。換句話說,如果我們不是以除正常方式以外的其他任意方式退出循環,那麼else分支將被執行。也就是在迴圈體內沒有break語句、沒有return語句,或是沒有異常出現。

下面我們來看看詳細的使用實例。

一、常規的if else 用法

x = True
if x:
 print 'x is true'
else:
 print 'x is not true'

二、if else 快速用法

這裡的 if else 可以當作三元運算子使用。

mark = 40
is_pass = True if mark >= 50 else False
print "Pass? " + str(is_pass)

三、與for 關鍵字一起用

在滿足以下情況的時候,else 下的程式碼區塊會執行:

     1、for 迴圈裡的語句執行完成

     2、for 迴圈裡的語句沒有被break 語句打斷

#
# 打印 `For loop completed the execution`
for i in range(10):
 print i
else:
 print 'For loop completed the execution'
# 不打印 `For loop completed the execution`
for i in range(10):
 print i
 if i == 5:
 break
else:
 print 'For loop completed the execution'

##四、與while 關鍵字一起用

和上面類似,在滿足以下情況的時候,

else 下的程式碼區塊會被執行:

     1、

while 迴圈裡的語句執行完成

     2、

while 迴圈裡的語句沒有被break 語句打斷

# 打印 `While loop execution completed`
a = 0
loop = 0
while a <= 10:
 print a
 loop += 1
 a += 1
else:
 print "While loop execution completed"
# 不打印 `While loop execution completed`
a = 50
loop = 0
while a > 10:
 print a
 if loop == 5:
 break
 a += 1
 loop += 1
else:
 print "While loop execution completed"

#五、與try except 一起用

try except 一起使用時,如果不拋出例外,else裡的語句就能被執行。

file_name = "result.txt"
try:
 f = open(file_name, &#39;r&#39;)
except IOError:
 print &#39;cannot open&#39;, file_name
else:
 # Executes only if file opened properly
 print file_name, &#39;has&#39;, len(f.readlines()), &#39;lines&#39;
 f.close()

總結

#關於Python中循環語句中else的用法總結到這就基本上結束了,這篇文章對於大家學習或使用Python還是具有一定的參考借鑒價值的,希望對大家能有所幫助,如果有疑問大家可以留言交流。

更多Python循環語句中else的用法總結相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn