Python yield使用方法示例

2021-08-15 02:13:35 字數 654 閱讀 7150

2. constructor

怎麼把函式變成constructor?  在函式體裡有yield就行了!

複製**

**如下:

def gen():

print 'enter'

yield 1

print 'next'

yield 2

print 'next again'

for i in gen():

print i

各位!python看到gen函式裡出現yield,知道可以用next了,問題是怎麼對**這個容器玩next?

從容器裡拿到iterator的時候它還什麼也不是,處在容器入口處,對於陣列來說就是下標為-1的地方,對於函式來說就是函式入口嘛事沒乾,但是萬事俱備就欠next。

開始for i in g,next讓itreator爬行到yield語句存在的地方並返回值,

再次next就再爬到下乙個yield語句存在的地方並返回值,依次這樣直到函式返回(容器盡頭)。

您一定看出來上面**的輸出是:

enter

1next

2next again

Python yield 的使用方法

帶有 yield 的函式在 python 中被稱之為 generator 生成器 使用 yield 可以大大簡化 yield 返回的是乙個generator物件,帶有 yield 的函式不再是乙個普通函式 def fab max n,a,b 0,0,1 while n fab 5 yield 的作用...

Python yield使用方法示例

1.iterator 疊代器最簡單例子應該是陣列下標了,且看下面的c 複製 如下 int array 10 for int i 0 i 10 i printf d array i 疊代器工作在乙個容器裡 array 10 它按一定順序 i 從容器裡取出值 array i 並進行操作 printf d...

pythonpip使用方法 pip使用方法整理

匯出專案已安裝的pip包 pip list 檢視專案中安裝的包 pip freeze requirements.txt 將專案中所用到的第三方庫輸出到requirements.txt中 pip install 版本號 pip install i 本次使用清華源進行安裝 離線安裝第三方庫 一鍵安裝整個...