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

python生成器generator用法實(shí)例分析

 更新時(shí)間:2015年06月04日 12:25:39   作者:MaxOmnis  
這篇文章主要介紹了python生成器generator用法,實(shí)例分析了python生成器的相關(guān)使用技巧,需要的朋友可以參考下

本文實(shí)例講述了python生成器generator用法。分享給大家供大家參考。具體如下:

使用yield,可以讓函數(shù)生成一個(gè)結(jié)果序列,而不僅僅是一個(gè)值

例如:

def countdown(n): 
  print "counting down" 
  while n>0: 
    yield n #生成一個(gè)n值 
    n -=1 
>>> c = countdown(5) 
>>> c.next() 
counting down 
5 
>>> c.next() 
4 
>>> c.next() 
3 

next()調(diào)用生成器函數(shù)一直運(yùn)行到下一條yield語句為止,此時(shí)next()將返回值傳遞給yield.而且函數(shù)將暫停中止執(zhí)行。再次調(diào)用時(shí)next()時(shí),函數(shù)將繼續(xù)執(zhí)行yield之后的語句。此過程持續(xù)執(zhí)行到函數(shù)返回為止。

通常不會(huì)像上面那樣手動(dòng)調(diào)用next(), 而是使用for循環(huán),例如:

>>> for i in countdown(5): 
...   print i 
...   
counting down 
5 
4 
3 
2 
1 

next(), send()的返回值都是yield 后面的參數(shù), send()跟next()的區(qū)別是send()是發(fā)送一個(gè)參數(shù)給(yield n)的表達(dá)式,作為其返回值給m, 而next()是發(fā)送一個(gè)None給(yield n)表達(dá)式, 這里需要區(qū)分的是,一個(gè)是調(diào)用next(),send()時(shí)候的返回值,一個(gè)是(yield n)的返回值,兩者是不一樣的.看輸出結(jié)果可以區(qū)分。

def h(n): 
  while n>0: 
    m = (yield n) 
    print "m is "+str(m) 
    n-=1 
    print "n is "+str(n) 
>>> p= h(5) 
>>> p.next() 
5 
>>> p.next() 
m is None 
n is 4 
4 
>>> p.send("test") 
m is test 
n is 3 
3 

希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • python用正則表達(dá)式提取/匹配中文漢字

    python用正則表達(dá)式提取/匹配中文漢字

    在使用Python的過程中,由于需求原因,我們經(jīng)常需要在文本或者網(wǎng)頁元素中用Python正則表達(dá)式匹配中文,下面這篇文章主要給大家介紹了關(guān)于python用正則表達(dá)式提取/匹配中文漢字的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • python數(shù)據(jù)清洗中的時(shí)間格式化實(shí)現(xiàn)

    python數(shù)據(jù)清洗中的時(shí)間格式化實(shí)現(xiàn)

    本文主要介紹了python數(shù)據(jù)清洗中的時(shí)間格式化實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • python中提高pip install速度

    python中提高pip install速度

    本文給大家分享了如何提高pip install速度的方法,其實(shí)就是將默認(rèn)源替換為國內(nèi)高速的源,非常的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下
    2020-02-02
  • import?paddle報(bào)錯(cuò)的成功解決方法

    import?paddle報(bào)錯(cuò)的成功解決方法

    最近安裝paddle的時(shí)候遇到了些問題,這里給大家總結(jié)下,下面這篇文章主要給大家介紹了關(guān)于import?paddle報(bào)錯(cuò)的成功解決方法,需要的朋友可以參考下
    2023-06-06
  • python中必會(huì)的四大高級(jí)數(shù)據(jù)類型(字符,元組,列表,字典)

    python中必會(huì)的四大高級(jí)數(shù)據(jù)類型(字符,元組,列表,字典)

    這篇文章主要介紹了python中必會(huì)的四大高級(jí)數(shù)據(jù)類型(字符,元組,列表,字典),本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-05-05
  • 對(duì)Python中plt的畫圖函數(shù)詳解

    對(duì)Python中plt的畫圖函數(shù)詳解

    今天小編就為大家分享一篇對(duì)Python中plt的畫圖函數(shù)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • django數(shù)據(jù)模型中null和blank的區(qū)別說明

    django數(shù)據(jù)模型中null和blank的區(qū)別說明

    這篇文章主要介紹了django數(shù)據(jù)模型中null和blank的區(qū)別說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • python中二維陣列的變換實(shí)例

    python中二維陣列的變換實(shí)例

    這篇文章主要介紹了python中二維陣列的變換實(shí)例,通過對(duì)比兩種不同的方法分析了二維陣列變換的實(shí)現(xiàn)方法,需要的朋友可以參考下
    2014-10-10
  • python異步IO的項(xiàng)目實(shí)踐

    python異步IO的項(xiàng)目實(shí)踐

    本文主要介紹了python異步IO的項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • python 讀取DICOM頭文件的實(shí)例

    python 讀取DICOM頭文件的實(shí)例

    今天小編就為大家分享一篇python 讀取DICOM頭文件的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05

最新評(píng)論

湘潭市| 晋宁县| 修水县| 西贡区| 丹凤县| 永泰县| 塔河县| 剑川县| 依安县| 黄陵县| 武宁县| 和田市| 宿州市| 沂南县| 始兴县| 西乡县| 海伦市| 铜陵市| 吴江市| 上犹县| 麻江县| 甘谷县| 本溪| 新余市| 郴州市| 民县| 垦利县| 凤阳县| 若羌县| 安乡县| 宁都县| 尉犁县| 惠水县| 望江县| 华阴市| 射洪县| 牡丹江市| 河南省| 镇赉县| 得荣县| 嫩江县|