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

Python生成器傳參數(shù)及返回值原理解析

 更新時間:2020年07月22日 11:58:18   作者:Mars.wang  
這篇文章主要介紹了Python生成器傳參數(shù)及返回值原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

一.生成器簡介

在python中,帶yield的方法不再是普通方法,而是生成器,它的執(zhí)行順序不同與普通方法.

普通方法的執(zhí)行是從頭到尾,最后return返回,或者沒有返回值

生成器是到y(tǒng)ield就返回yield之后的值,然后阻塞,等待next()/send()繼續(xù)調(diào)起生成器

二.next()/send()的異同:

next()/send()都可以調(diào)起生成器

next()只能調(diào)起生成器返回值,send()還可以對生成器進行傳參數(shù),與正常的理解不同,yield表達式左側(cè)的值是send()方法傳進來的參數(shù)

還有一個有意思的點,第一次send()的時候要求只能send(None)

三.生成器的執(zhí)行順序

在yield這一行代碼的執(zhí)行邏輯是這樣的,等號右邊的yield r先執(zhí)行,將r返回,阻塞...

等到下次生成器再被調(diào)起的時候,yield把傳入的參數(shù)給n,再繼續(xù)執(zhí)行下面的代碼,知道yield繼續(xù)返回...

def consumer(): 
  r = '' 
  while True: 
    n = yield r 
    if not n: 
      return 
    print('[CONSUMER] Consuming %s...' % n) 
    r = '200 OK' 
 
def produce(c): 
  c.send(None) 
  n = 0 
  while n < 5: 
    n = n + 1 
    print('[PRODUCER] Producing %s...' % n) 
    r = c.send(n) 
    print('[PRODUCER] Consumer return: %s' % r) 
  c.close() 
                                                            

In [31]: c=consumer()                                                      

In [32]: c.send(None)                                                      
Out[32]: ''

In [33]: c.send(1)                                                       
[CONSUMER] Consuming 1...
Out[33]: '200 OK'

In [34]: c.send(2)                                                       
[CONSUMER] Consuming 2...
Out[34]: '200 OK'

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 利用Matlab繪制各類特殊圖形的實例代碼

    利用Matlab繪制各類特殊圖形的實例代碼

    作為一個功能強大的工具軟件,Matlab具有很強的圖形處理功能,提供了大量的二維、三 維圖形函數(shù),這篇文章主要給大家介紹了關(guān)于如何利用Matlab繪制各類特殊圖形的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • Pycharm5個非常有用的方法技巧

    Pycharm5個非常有用的方法技巧

    這篇文章主要介紹了Pycharm5個非常有用的方法技巧,PyCharm?是一款非常強大的編寫?python?代碼的工具。掌握一些小技巧能成倍的提升寫代碼的效率,本篇介紹幾個經(jīng)常使用的小技巧,需要的小伙伴可以參考一下
    2022-07-07
  • Python數(shù)據(jù)處理的26個Pandas實用技巧總結(jié)

    Python數(shù)據(jù)處理的26個Pandas實用技巧總結(jié)

    這篇文章主要給大家分享一些pandas的實用技巧,共計26個,這些技巧在你做數(shù)據(jù)處理中必不可少,感興趣的小伙伴可以跟隨小編學(xué)習(xí)一下
    2022-02-02
  • python基于機器學(xué)習(xí)預(yù)測股票交易信號

    python基于機器學(xué)習(xí)預(yù)測股票交易信號

    近年來,隨著技術(shù)的發(fā)展,機器學(xué)習(xí)和深度學(xué)習(xí)在金融資產(chǎn)量化研究上的應(yīng)用越來越廣泛和深入。目前,大量數(shù)據(jù)科學(xué)家在Kaggle網(wǎng)站上發(fā)布了使用機器學(xué)習(xí)/深度學(xué)習(xí)模型對股票、期貨、比特幣等金融資產(chǎn)做預(yù)測和分析的文章。本文就來看看如何用python預(yù)測股票交易信號
    2021-05-05
  • Python中的pip命令安裝與使用輕松入門教程

    Python中的pip命令安裝與使用輕松入門教程

    pip是Python的包管理工具,用于安裝、卸載和管理第三方庫,本文詳細(xì)介紹了pip的安裝和使用方法,包括檢查pip是否已安裝、手動安裝或升級pip以及pip的基本使用,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-11-11
  • python下載微信公眾號相關(guān)文章

    python下載微信公眾號相關(guān)文章

    這篇文章主要為大家詳細(xì)介紹了python下載微信公眾號相關(guān)文章的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • Python集合操作方法詳解

    Python集合操作方法詳解

    這篇文章主要介紹了Python集合操作方法詳解,需要的朋友可以參考下
    2020-02-02
  • python實現(xiàn)下載指定網(wǎng)址所有圖片的方法

    python實現(xiàn)下載指定網(wǎng)址所有圖片的方法

    這篇文章主要介紹了python實現(xiàn)下載指定網(wǎng)址所有圖片的方法,涉及Python針對頁面的讀取、遍歷及文件操作的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • python多進程并發(fā)的實現(xiàn)示例

    python多進程并發(fā)的實現(xiàn)示例

    python中的多線程無法利用多核優(yōu)勢,如果想要充分地使用多核CPU的資源,在python中大部分情況需要使用多進程,本文主要介紹了python多進程并發(fā)的實現(xiàn)示例,感興趣的可以了解一下
    2024-02-02
  • python 獲取url中的參數(shù)列表實例

    python 獲取url中的參數(shù)列表實例

    今天小編就為大家分享一篇python 獲取url中的參數(shù)列表實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12

最新評論

恭城| 吉安县| 乌鲁木齐县| 渭南市| 垣曲县| 盱眙县| 桂林市| 章丘市| 花莲县| 财经| 邮箱| 泸州市| 安义县| 兴化市| 辽宁省| 延川县| 贵定县| 兴仁县| 鄢陵县| 英超| 湄潭县| 湖南省| 塘沽区| 巴中市| 怀远县| 沙河市| 佛山市| 正宁县| 宜都市| 且末县| 黑水县| 柳林县| 松阳县| 彰化县| 政和县| 民勤县| 无为县| 文山县| 玛纳斯县| 三亚市| 孟村|