成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

Python語(yǔ)法糖——for/else循環(huán)語(yǔ)句里的break

missonce / 2945人閱讀

摘要:在中的或者循環(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

相關(guān)文章

  • Python中的上下文管理器和else

    摘要:上下文管理器協(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...

    Michael_Lin 評(píng)論0 收藏0
  • Python基礎(chǔ)之(五)語(yǔ)句

    摘要:邏輯運(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ù)...

    alaege 評(píng)論0 收藏0
  • 編程語(yǔ)言之問(wèn):何時(shí)該借用,何時(shí)該創(chuàng)造?

    摘要:普通可迭代對(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)載。 原文地址:...

    spademan 評(píng)論0 收藏0
  • Hollis原創(chuàng)|不了解這12個(gè)語(yǔ)法,別說(shuō)你會(huì)Java

    摘要:但其實(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)了解一下嗎); 本文從 ...

    番茄西紅柿 評(píng)論0 收藏0
  • Hollis原創(chuàng)|不了解這12個(gè)語(yǔ)法,別說(shuō)你會(huì)Java

    摘要:但其實(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)了解一下嗎); 本文從 ...

    番茄西紅柿 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<