python中Yield函式的理解

2022-09-04 19:00:16 字數 793 閱讀 7628

1:在實際應用中,在程式中列表長度過於龐大,占用系統較大的記憶體,對於這個問題,

我們會用到 yield 函式(生成器)帶yield的函式是乙個生成器,而不是乙個函式了,這個生成器有乙個函式就是next函式,

next就相當於「下一步」生成哪個數,這一次的next開始的地方是接著上一次的next停止的地方執行的,所以呼叫next的時候,

生成器並不會從foo函式的開始執行,只是接著上一步停止的地方開始,然後遇到yield後,return出要生成的數

def

foo():

b = [3, 2, 4, 53, 33, 22]

for i in

b:

print("

遍歷列表的資料

", i)

"""yield 相當於乙個return 函式,跟ruturn 不同的是, 用了yield 函式,函式就變成了乙個生成器,可以遍歷函式,也可以用 next()

next函式會用上一次暫停位置啟動

"""yield 5d =foo()

print("

這是乙個生成器

python中yield函式的用法

yield 和 return有一定的區別 return 在函式中返回某個值,然後函式結束執行。一般沒有返回值型別,就不用寫return yield 帶yield的函式是乙個迭代器,在函式內部碰到yield 的時候,函式會返回某個值,並停留在這個位置,當下次執行函式後,會在上次停留的位置繼續執行。我們...

python中yield函式學習記錄

今天 了大神對yield的理解,幫助大,以此記錄。若在函式 現了yield 剛開始可以理解為乙個return,但注意的是 建立好呼叫函式物件後,函式不會立即執行,而是在使用next 函式後才開始執行 在第一次遇到yield時,看作return返回,函式到此結束,方便理解我們在此打乙個斷點 3.後續的...

關於Python中的yield

在介紹yield前有必要先說明下python中的迭代器 iterator 和生成器 constructor 一 迭代器 iterator 在python中,for迴圈可以用於python中的任何型別,包括列表 元祖等等,實際上,for迴圈可用於任何 可迭代物件 這其實就是迭代器 迭代器是乙個實現了迭...