Python學習筆記|Python之yield理解
在瞭解yield之前,先了解return概念
1.return
- return: 1個返回值
結束函式的執行,並且將結果返回給呼叫的地方
- return:函式的返回值
返回對個返回值,其返回值會儲存在一個元組中
如下:
def sum(x,y):
return x,y
num = sum(1,2)
print(num)
2.yield
使用yield會將一個函式變成一個生成器(generator)
如下:
def getNum(n):
i = 0
while i <= n:
yield i #將函式變成一個generator
i+=1
print(getNum(5))
結果:
<generator object getNum at 0x0000000002528C00>```
使用生成器 通過 next()方法
a = getNum(5) #把生成器賦值給一個變數a
print(next(a)) #輸出yield返回的值
並且會拋異常,需要手動拋異常StopIteration
- 如果使用for迴圈不需要丟擲異常
for i in a:
print(i)
3.yield作用
使用生成器可以達到延遲操作的效果,所謂延遲操作就是指在需要的時候
產生結果而不是立即產生就結果,節省資源消耗,在不使用的時候幾乎是不佔記憶體的
4.迭代器
首先了解下什麼是迭代物件
- 迭代物件
可以用for in 遍歷得物件度可以叫做是可迭代物件:Iterable
如:list string dict
list01 = [1,2,3,4,5] #是一個可迭代物件
for i in list01:
print(i)
print(next(list01)) #list01不是迭代器所以無法呼叫 next
報錯:
list不是一個迭代器,則無法使用next函式
'list' object is not an iterator
- 迭代器
可以被next()函式呼叫的並不斷返回下一個值得物件叫做迭代器:iterator
通過iter()將一個可迭代物件變成迭代器
a = iter(list01)
print(a)
print(next(a))
結果:
<list_iterator object at 0x0000000002E554A8>
1
相關文章
- Python學習筆記-yield用法及優點Python筆記
- Python學習筆記|Python之程式Python筆記
- Python學習筆記|Python之索引迭代Python筆記索引
- Python學習筆記|Python之特殊方法Python筆記
- Python學習筆記|Python之執行緒Python筆記執行緒
- Python學習筆記|Python之檔案操作Python筆記
- Python學習筆記|Python之物件導向Python筆記物件
- Python學習筆記|Python之特殊檔案Python筆記
- Python學習筆記|Python之推導式Python筆記
- Python學習筆記|Python之正規表示式Python筆記
- Python學習筆記|Python之pycache資料夾Python筆記
- Python學習筆記之12306搶票Python筆記
- Python學習筆記Python筆記
- 【學習筆記】python筆記Python
- (學習筆記)python 對__init__的初步理解筆記Python
- Python學習筆記|Python之內建變數__name__Python筆記變數
- Python 3 學習筆記之——物件導向Python筆記物件
- python學習筆記(1Python筆記
- Python學習筆記 - queuePython筆記
- Effective Python學習筆記Python筆記
- python——Matplotlib學習筆記Python筆記
- python學習筆記4Python筆記
- Python學習筆記 - asyncioPython筆記
- Python 學習筆記(一)Python筆記
- Python學習筆記 - aiohttpPython筆記AIHTTP
- python學習筆記(二)Python筆記
- Python學習筆記(2)Python筆記
- python——numpy學習筆記Python筆記
- Python學習筆記(三)Python筆記
- Python學習筆記之 Python設計思想&設計原則Python筆記
- 深入理解python中的yieldPython
- Python 3 學習筆記之——資料型別Python筆記資料型別
- Python 3 學習筆記之——基礎語法Python筆記
- Python 3 學習筆記之類與例項Python筆記
- Python學習筆記—程式碼Python筆記
- Python學習筆記 - 閉包Python筆記
- Python學習筆記 - 作用域Python筆記
- Python學習筆記 - 變數Python筆記變數