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

python生成器generator用法實例分析

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

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

使用yield,可以讓函數生成一個結果序列,而不僅僅是一個值

例如:

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

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

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

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

next(), send()的返回值都是yield 后面的參數, send()跟next()的區(qū)別是send()是發(fā)送一個參數給(yield n)的表達式,作為其返回值給m, 而next()是發(fā)送一個None給(yield n)表達式, 這里需要區(qū)分的是,一個是調用next(),send()時候的返回值,一個是(yield n)的返回值,兩者是不一樣的.看輸出結果可以區(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 

希望本文所述對大家的Python程序設計有所幫助。

相關文章

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

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

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

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

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

    python中提高pip install速度

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

    import?paddle報錯的成功解決方法

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

    python中必會的四大高級數據類型(字符,元組,列表,字典)

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

    對Python中plt的畫圖函數詳解

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

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

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

    python中二維陣列的變換實例

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

    python異步IO的項目實踐

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

    python 讀取DICOM頭文件的實例

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

最新評論

肇源县| 凉山| 织金县| 渝中区| 天等县| 抚顺市| 漠河县| 德惠市| 神池县| 霍州市| 衡东县| 东安县| 永新县| 新宁县| 龙门县| 黔东| 哈密市| 浠水县| 牟定县| 光山县| 宜君县| 定西市| 黄浦区| 霍州市| 江陵县| 汕头市| 监利县| 平安县| 朝阳县| 石阡县| 延川县| 仁寿县| 忻城县| 乐山市| 常山县| 惠水县| 保康县| 海口市| 巴马| 阜城县| 洛扎县|