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 本次使用清華源進行安裝 離線安裝第三方庫 一鍵安裝整個...