新聞中心
有點跑遠了,回到主題上來。我們知道,標準的代碼執(zhí)行流程的控制語句,就這么幾種:順序執(zhí)行、條件執(zhí)行、循環(huán)執(zhí)行以及這幾種的組合或/和嵌套。各類編程語(如C/C++、Java、JavaScript、PHP、go等)在具體語法上實現(xiàn)各有差異,但基本雷同:if-else結構、while結構、for結構等。

創(chuàng)新互聯(lián)建站是一家專注于網(wǎng)站設計制作、做網(wǎng)站與策劃設計,靖宇網(wǎng)站建設哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設十多年,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:靖宇等地區(qū)。靖宇做網(wǎng)站價格咨詢:028-86922220
這里要說的是Python的循環(huán)結構語法的常規(guī)拓展模式,以while為例,其常規(guī)語法結構如下:
while condition:
#循環(huán)體
pass
這是典型的使用形式。其拓展結構如下:
while conditon:
#循環(huán)體
pass
else:
#while循環(huán)體執(zhí)行完
pass
這種while-else結構與if-else結構不同之處在于if結構下只能執(zhí)行其中的一種情況(滿足條件的),而while結構通常兩部分都會執(zhí)行的。示例如下:
counter =0
while counter<5:
counter+=1
print(f"counter={counter}")
else:
print(f"while結束了,進入else部分:當前counter={counter}")
運行上面的代碼,輸出結果如下:
counter=1
counter=2
counter=3
counter=4
counter=5
while結束了,進入else部分:當前counter=5
這個代碼沒啥故事,也容易理解。但我換一種形式再看看效果:
counter =0
while True:
counter+=1
print(f"counter={counter}")
if counter>=5:
break
else:
print(f"while結束,else部分...,counter={counter}")
運行程序,輸出類似如下:
counter=1
counter=2
counter=3
counter=4
counter=5
完犢子了,else部分不執(zhí)行了……
當然,Python的for-else結構也一樣,這里就不舉例了,有興趣的自己試試。這里我想說的是,在Python的“循環(huán)-else”結構中,如果使用了break提出循環(huán),它就跳出了整個循環(huán)結構,而循環(huán)所帶的else部分也是整個循環(huán)的一部分。所以,想在循環(huán)體工作結束后再干點掃尾工作,那一定注意不要用break跳出。
當初我在給學生介紹這個結構時,說這個語法貌似沒有很雞肋。你Python不是追求簡潔嗎,為while/for添個else,沒有它會死嗎?你想在else里干的事情,不用else也一樣能干。
后來我遵循Python的“人性化”指導哲學又想了想:這就像在飯店里吃飯,正常吃完結賬(正常事情),出去時順帶在飯店門口抓把糖倒杯水(掃尾工作);但如果你吃飯時吃出個異物來,不能繼續(xù)愉快就餐了走了(非正常終止-break了),哪還有心情喝水吃糖?——可能就是這個意思吧 ^_& 。
Python編程還是很有意思的,但更多在于用Python去解決實際問題。所以Python語法很容易學,但要能靈活的使用Python去解決問題還有很多庫和框架需要學習。
今天就寫這些了,其它Python特異的編程特殊實現(xiàn),下次再寫。
當前文章:Python編程中特有的循環(huán)語句及其特點
分享路徑:http://m.fisionsoft.com.cn/article/djhipcg.html


咨詢
建站咨詢
