国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python中的yield使用方法

2019-11-25 18:31:39
字體:
來源:轉載
供稿:網友

今天在看其他同事的代碼時,發現一個沒使用過的python關鍵字 :yield

      先問了一下同事,聽他說了幾句,有個模糊的印象,僅僅是模糊而已。于是自己去搜搜資料看。看了半天,逐漸清晰了。不過在工作機制以及應用上還是有點迷茫。嗯,先把初始接觸的印象記下來吧。

      yield 簡單說來就是一個生成器(Generator)。生成器是這樣一個函數:它記住上一次返回時在函數體中的位置。對生成器函數的第二次(或第 n 次)調用跳轉至該函數中間,而上次調用的所有局部變量都保持不變。

      你看到某個函數包含了yield,這意味著這個函數已經是一個Generator,它的執行會和其他普通的函數有很多不同。

      可能看到這里還是迷迷糊糊,先看一些實例吧:

復制代碼 代碼如下:

      def test( data_list ):

            for x in data_list:

                 yield x + 1

      data = [1,2,3,4]

      for y in test( data ):

           print y


      則輸出結果為:

      2       3       4        5

      另外一種用法:

      handle = test(data)

      handle.next()     輸出  2

      handle.next()     輸出  3

      handle.next()     輸出  4

      handle.next()     輸出  5

      handle.next()     則會報錯

      這只是 yield 的初步印象,接下來慢慢摸索吧。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 玛多县| 黔南| 岑溪市| 罗平县| 锦州市| 洪湖市| 桑植县| 泸州市| 灌云县| 宁波市| 临西县| 瑞昌市| 遂宁市| 江华| 榆社县| 光泽县| 青岛市| 贵溪市| 岢岚县| 区。| 高要市| 固始县| 兰西县| 彭阳县| 淮滨县| 五峰| 高青县| 蒲城县| 资溪县| 吴旗县| 隆子县| 汝州市| 安康市| 岢岚县| 离岛区| 大田县| 小金县| 香格里拉县| 周宁县| 白水县| 克东县|