成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

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

missonce / 3004人閱讀

摘要:在中的或者循環(huán)之后還可以有子句,作用是循環(huán)中條件一直不滿足,則最后就執(zhí)行語句。而當(dāng)循環(huán)是由語句中斷時,就不被執(zhí)行。等效于下面這段代碼,可以類似語言那樣添加一個與語句相似,語句中的子句用法是一樣的,塊在循環(huán)正常結(jié)束和循環(huán)條件不成立時執(zhí)行。

在Python中的while或者for循環(huán)之后還可以有else子句,作用是for循環(huán)中if條件一直不滿足,則最后就執(zhí)行else語句。

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)的過程中成立了,最終還是執(zhí)行了else語句里的內(nèi)容,這是為什么呢?

好的,我們這時看下面這段程序:

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

我們在if里添加了一個break,這是因?yàn)?b>else是在for后執(zhí)行的,但只有for循環(huán)正常退出時才會執(zhí)行else語句(不是由break結(jié)束循環(huán))。而當(dāng)循環(huán)是由break語句中斷時,else就不被執(zhí)行。

for/else等效于下面這段代碼,可以類似C語言那樣添加一個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語句相似,while語句中的else子句用法是一樣的,else塊在循環(huán)正常結(jié)束和循環(huán)條件不成立時執(zhí)行。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/37864.html

相關(guān)文章

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

    摘要:上下文管理器協(xié)議包含和兩個方法。因此必要時在上下文管理器函數(shù)中使用語句防范錯誤。構(gòu)建臨時忽略指定異常的上下文管理器。這是個基類,用于定義基于類的上下文管理器。塊結(jié)束時,按照后進(jìn)先出的順序調(diào)用棧中各個上下文管理器的方法。 導(dǎo)語:本文章記錄了本人在學(xué)習(xí)Python基礎(chǔ)之控制流程篇的重點(diǎn)知識及個人心得,打算入門Python的朋友們可以來一起學(xué)習(xí)并交流。 本文重點(diǎn): 1、掌握if語句之外的el...

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

    摘要:邏輯運(yùn)算符假設(shè),運(yùn)算符描述實(shí)例布爾與如果為,返回,否則它返回的計算值。布爾或如果是,它返回,否則它返回的計算值。以為例,說明語句。逗號表示打印在同一行本來,在語句中,字符串后面會接一個符號。 運(yùn)算符 算術(shù)運(yùn)算符 前面已經(jīng)講過了四則運(yùn)算,其中涉及到一些運(yùn)算符:加減乘除,對應(yīng)的符號分別是:+ - * /,此外,還有求余數(shù)的:%。這些都是算術(shù)運(yùn)算符。其實(shí),算術(shù)運(yùn)算符不止這些。根據(jù)中學(xué)數(shù)...

    alaege 評論0 收藏0
  • 編程語言之問:何時該借用,何時該創(chuàng)造?

    摘要:普通可迭代對象只有魔術(shù)方法,而不像迭代器一樣擁有魔術(shù)方法,這意味著它無法實(shí)現(xiàn)自遍歷過程,同時在經(jīng)過循環(huán)的它遍歷后,也不會破壞原有的結(jié)構(gòu)。這兩個是我創(chuàng)造的概念,詳見進(jìn)階迭代器與迭代器切片。 showImg(https://segmentfault.com/img/remote/1460000019621809); 本文原創(chuàng)并首發(fā)于公眾號【Python貓】,未經(jīng)授權(quán),請勿轉(zhuǎn)載。 原文地址:...

    spademan 評論0 收藏0
  • Hollis原創(chuàng)|不了解這12個語法,別說你會Java

    摘要:但其實(shí),虛擬機(jī)并不支持這些語法糖。方式為每個泛型類型創(chuàng)建唯一的字節(jié)碼表示,并且將該泛型類型的實(shí)例都映射到這個唯一的字節(jié)碼表示上。GitHub 2.5k Star 的Java工程師成神之路 ,不來了解一下嗎); GitHub 2.5k Star 的Java工程師成神之路 ,真的不來了解一下嗎); GitHub 2.5k Star 的Java工程師成神之路 ,真的確定不來了解一下嗎); 本文從 ...

    番茄西紅柿 評論0 收藏0
  • Hollis原創(chuàng)|不了解這12個語法,別說你會Java

    摘要:但其實(shí),虛擬機(jī)并不支持這些語法糖。方式為每個泛型類型創(chuàng)建唯一的字節(jié)碼表示,并且將該泛型類型的實(shí)例都映射到這個唯一的字節(jié)碼表示上。GitHub 2.5k Star 的Java工程師成神之路 ,不來了解一下嗎); GitHub 2.5k Star 的Java工程師成神之路 ,真的不來了解一下嗎); GitHub 2.5k Star 的Java工程師成神之路 ,真的確定不來了解一下嗎); 本文從 ...

    番茄西紅柿 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<