摘要:在中的或者循環(huán)之后還可以有子句,作用是循環(huán)中條件一直不滿(mǎn)足,則最后就執(zhí)行語(yǔ)句。而當(dāng)循環(huán)是由語(yǔ)句中斷時(shí),就不被執(zhí)行。等效于下面這段代碼,可以類(lèi)似語(yǔ)言那樣添加一個(gè)與語(yǔ)句相似,語(yǔ)句中的子句用法是一樣的,塊在循環(huán)正常結(jié)束和循環(huán)條件不成立時(shí)執(zhí)行。
在Python中的while或者for循環(huán)之后還可以有else子句,作用是for循環(huán)中if條件一直不滿(mǎn)足,則最后就執(zhí)行else語(yǔ)句。
for i in range(5): if i == 1: print "in for" else: print "in else" print "after for-loop" # in for # in else # after for-loop
但我們發(fā)現(xiàn)if條件在循環(huán)的過(guò)程中成立了,最終還是執(zhí)行了else語(yǔ)句里的內(nèi)容,這是為什么呢?
好的,我們這時(shí)看下面這段程序:
for i in range(5): if i == 1: print "in for" break else: print "in else" print "after for-loop" # in for # after for-loop
我們?cè)?b>if里添加了一個(gè)break,這是因?yàn)?b>else是在for后執(zhí)行的,但只有for循環(huán)正常退出時(shí)才會(huì)執(zhí)行else語(yǔ)句(不是由break結(jié)束循環(huán))。而當(dāng)循環(huán)是由break語(yǔ)句中斷時(shí),else就不被執(zhí)行。
for/else等效于下面這段代碼,可以類(lèi)似C語(yǔ)言那樣添加一個(gè)flag:
found = False for i in range(5): if i == 1: found = True print "in for" if not found: print "not found" print "after for-loop" # in for # after for-loop
與for語(yǔ)句相似,while語(yǔ)句中的else子句用法是一樣的,else塊在循環(huán)正常結(jié)束和循環(huán)條件不成立時(shí)執(zhí)行。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/37864.html
摘要:上下文管理器協(xié)議包含和兩個(gè)方法。因此必要時(shí)在上下文管理器函數(shù)中使用語(yǔ)句防范錯(cuò)誤。構(gòu)建臨時(shí)忽略指定異常的上下文管理器。這是個(gè)基類(lèi),用于定義基于類(lèi)的上下文管理器。塊結(jié)束時(shí),按照后進(jìn)先出的順序調(diào)用棧中各個(gè)上下文管理器的方法。 導(dǎo)語(yǔ):本文章記錄了本人在學(xué)習(xí)Python基礎(chǔ)之控制流程篇的重點(diǎn)知識(shí)及個(gè)人心得,打算入門(mén)Python的朋友們可以來(lái)一起學(xué)習(xí)并交流。 本文重點(diǎn): 1、掌握if語(yǔ)句之外的el...
摘要:邏輯運(yùn)算符假設(shè),運(yùn)算符描述實(shí)例布爾與如果為,返回,否則它返回的計(jì)算值。布爾或如果是,它返回,否則它返回的計(jì)算值。以為例,說(shuō)明語(yǔ)句。逗號(hào)表示打印在同一行本來(lái),在語(yǔ)句中,字符串后面會(huì)接一個(gè)符號(hào)。 運(yùn)算符 算術(shù)運(yùn)算符 前面已經(jīng)講過(guò)了四則運(yùn)算,其中涉及到一些運(yùn)算符:加減乘除,對(duì)應(yīng)的符號(hào)分別是:+ - * /,此外,還有求余數(shù)的:%。這些都是算術(shù)運(yùn)算符。其實(shí),算術(shù)運(yùn)算符不止這些。根據(jù)中學(xué)數(shù)...
摘要:普通可迭代對(duì)象只有魔術(shù)方法,而不像迭代器一樣擁有魔術(shù)方法,這意味著它無(wú)法實(shí)現(xiàn)自遍歷過(guò)程,同時(shí)在經(jīng)過(guò)循環(huán)的它遍歷后,也不會(huì)破壞原有的結(jié)構(gòu)。這兩個(gè)是我創(chuàng)造的概念,詳見(jiàn)進(jìn)階迭代器與迭代器切片。 showImg(https://segmentfault.com/img/remote/1460000019621809); 本文原創(chuàng)并首發(fā)于公眾號(hào)【Python貓】,未經(jīng)授權(quán),請(qǐng)勿轉(zhuǎn)載。 原文地址:...
摘要:但其實(shí),虛擬機(jī)并不支持這些語(yǔ)法糖。方式為每個(gè)泛型類(lèi)型創(chuàng)建唯一的字節(jié)碼表示,并且將該泛型類(lèi)型的實(shí)例都映射到這個(gè)唯一的字節(jié)碼表示上。GitHub 2.5k Star 的Java工程師成神之路 ,不來(lái)了解一下嗎); GitHub 2.5k Star 的Java工程師成神之路 ,真的不來(lái)了解一下嗎); GitHub 2.5k Star 的Java工程師成神之路 ,真的確定不來(lái)了解一下嗎); 本文從 ...
摘要:但其實(shí),虛擬機(jī)并不支持這些語(yǔ)法糖。方式為每個(gè)泛型類(lèi)型創(chuàng)建唯一的字節(jié)碼表示,并且將該泛型類(lèi)型的實(shí)例都映射到這個(gè)唯一的字節(jié)碼表示上。GitHub 2.5k Star 的Java工程師成神之路 ,不來(lái)了解一下嗎); GitHub 2.5k Star 的Java工程師成神之路 ,真的不來(lái)了解一下嗎); GitHub 2.5k Star 的Java工程師成神之路 ,真的確定不來(lái)了解一下嗎); 本文從 ...
閱讀 3691·2021-09-22 15:28
閱讀 1305·2021-09-03 10:35
閱讀 888·2021-09-02 15:21
閱讀 3491·2019-08-30 15:53
閱讀 3504·2019-08-29 17:25
閱讀 580·2019-08-29 13:22
閱讀 1567·2019-08-28 18:15
閱讀 2298·2019-08-26 13:57