最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中for后接else的語(yǔ)法使用

 更新時(shí)間:2021年05月18日 14:49:10   作者:weijian001  
這篇文章主要介紹了Python中for后接else的語(yǔ)法使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

0、背景

今天看到了一個(gè)比較詭異的寫(xiě)法,for后直接跟了else語(yǔ)句,起初還以為是沒(méi)有縮進(jìn)好,查詢后發(fā)現(xiàn)果然有這種語(yǔ)法,特此分享。之前寫(xiě)過(guò)c++和Java,在for后接else還是第一次見(jiàn)。

1、試驗(yàn)

# eg1
import numpy as np
for i in np.arange(5):
    print i
else:
    print("hello?")
# 0
# 1
# 2
# 3
# 4
# hello?

可以發(fā)現(xiàn),在for正常結(jié)束后,break中的語(yǔ)句進(jìn)行了執(zhí)行。

# eg2
import numpy as np
for i in np.arange(5):
    print i
    if (i == 3):
        break
else:
    print("hello?")
# 0
# 1
# 2
# 3

在這個(gè)例子當(dāng)中,i==3的時(shí)候break出了循環(huán),然后else當(dāng)中的語(yǔ)句就沒(méi)有執(zhí)行。

2、總結(jié)

總結(jié)起來(lái)比較簡(jiǎn)單,如果for循環(huán)正常結(jié)束,else中語(yǔ)句執(zhí)行。如果是break的,則不執(zhí)行。

工程性代碼寫(xiě)的比較少,暫時(shí)沒(méi)有想到很好的場(chǎng)景,為了不對(duì)其他同學(xué)造成干擾,這種形式還是少些一點(diǎn)較好。

官方文檔也有解釋:

When the items are exhausted (which is immediately when the sequence is empty), the suite in the else clause, if present, is executed, and the loop terminates.

A break statement executed in the first suite terminates the loop without executing the else clause's suite. A continue statement executed in the first suite skips the rest of the suite and continues with the next item, or with the else clause if there was no next item.

https://docs.python.org/2/reference/compound_stmts.html#the-for-statement

補(bǔ)充:python里for和else的搭配

用找質(zhì)數(shù)作為代碼示例

for i in range(2,10):
    for n in range(2,i):
        if i % n == 0:
            #print(i, '=', n, '*', i//n)
            break
    else:
        print('found it %s' %i)

注意:這里的 else 并不屬于 if 代碼塊

根據(jù)官方文檔的解釋理解的意思:當(dāng)?shù)膶?duì)象迭代完并為空時(shí),位于else的語(yǔ)句將會(huì)執(zhí)行,而如果在for循環(huán)里有break時(shí),則會(huì)直接終止循環(huán),并不會(huì)執(zhí)行else里的代碼

寫(xiě)一個(gè)簡(jiǎn)單例子,用來(lái)輔助理解

for i in range(10):
    if i == 7:
        print('found it %s'%i)
        break
else:
    print('not found')

可以先運(yùn)行代碼,看一下運(yùn)行結(jié)果,然后將代碼塊里的break注釋掉再運(yùn)行一遍,與第一次運(yùn)行的結(jié)果進(jìn)行比較,就會(huì)發(fā)現(xiàn)不同

補(bǔ)充:python中for—else的用法,執(zhí)行完for執(zhí)行else

結(jié)束for循環(huán)后執(zhí)行else

for i in range(5):
     print(i)
else:
    print("打印else")

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 在cmd命令行里進(jìn)入和退出Python程序的方法

    在cmd命令行里進(jìn)入和退出Python程序的方法

    今天小編就為大家分享一篇在cmd命令行里進(jìn)入和退出Python程序的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • Python實(shí)現(xiàn)http接口自動(dòng)化測(cè)試的示例代碼

    Python實(shí)現(xiàn)http接口自動(dòng)化測(cè)試的示例代碼

    這篇文章主要介紹了Python實(shí)現(xiàn)http接口自動(dòng)化測(cè)試的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Python類反射機(jī)制使用實(shí)例解析

    Python類反射機(jī)制使用實(shí)例解析

    這篇文章主要介紹了Python類反射機(jī)制使用實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 從列表到生成器詳解Python可迭代對(duì)象的完全指南

    從列表到生成器詳解Python可迭代對(duì)象的完全指南

    可迭代對(duì)象是?Python?中非常重要的概念,列表、元組、字符串、字典、集合等都是可迭代對(duì)象,本文詳細(xì)介紹了可迭代對(duì)象和迭代器的區(qū)別,以及如何創(chuàng)建它們,希望對(duì)大家有所幫助
    2026-04-04
  • Python代碼模擬CPU工作原理

    Python代碼模擬CPU工作原理

    Python代碼來(lái)實(shí)現(xiàn)一個(gè)最簡(jiǎn)單的CPU。用代碼模擬大的部件,使大家從原理上理解CPU工作。使它可編程,支持加減法運(yùn)算、讀寫(xiě)內(nèi)存、無(wú)條件跳轉(zhuǎn)、條件跳轉(zhuǎn)的功能。
    2023-01-01
  • python 爬取華為應(yīng)用市場(chǎng)評(píng)論

    python 爬取華為應(yīng)用市場(chǎng)評(píng)論

    項(xiàng)目需要爬取評(píng)論數(shù)據(jù),在此做一個(gè)記錄,這里爬取的是web端的數(shù)據(jù),以后可能會(huì)考慮爬取android app中的數(shù)據(jù)。
    2021-05-05
  • 給Python初學(xué)者的一些編程技巧

    給Python初學(xué)者的一些編程技巧

    這篇文章主要介紹了給Python初學(xué)者的一些編程技巧,皆是基于基礎(chǔ)的一些編程習(xí)慣建議,需要的朋友可以參考下
    2015-04-04
  • 解決Python2.7中IDLE啟動(dòng)沒(méi)有反應(yīng)的問(wèn)題

    解決Python2.7中IDLE啟動(dòng)沒(méi)有反應(yīng)的問(wèn)題

    今天小編就為大家分享一篇解決Python2.7中IDLE啟動(dòng)沒(méi)有反應(yīng)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • 解決python調(diào)用matlab時(shí)的一些常見(jiàn)問(wèn)題

    解決python調(diào)用matlab時(shí)的一些常見(jiàn)問(wèn)題

    這篇文章主要介紹了解決python調(diào)用matlab時(shí)的一些常見(jiàn)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • django遷移數(shù)據(jù)庫(kù)錯(cuò)誤問(wèn)題解決

    django遷移數(shù)據(jù)庫(kù)錯(cuò)誤問(wèn)題解決

    這篇文章主要介紹了django遷移數(shù)據(jù)庫(kù)錯(cuò)誤問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07

最新評(píng)論

铁岭县| 丹江口市| 凤凰县| 田林县| 利川市| 灵台县| 醴陵市| 尖扎县| 平陆县| 阜新市| 铁岭县| 莱阳市| 金堂县| 仁怀市| 高雄县| 拉萨市| 汤原县| 通辽市| 鄂伦春自治旗| 南宁市| 新源县| 荔波县| 延川县| 甘肃省| 麻江县| 琼结县| 循化| 皋兰县| 广元市| 太仓市| 广河县| 秭归县| 班玛县| 南靖县| 日土县| 锦州市| 珠海市| 霍城县| 二连浩特市| 池州市| 灵山县|