1. 程式人生 > 其它 >python中Yield函式的理解

python中Yield函式的理解

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 5 d = foo() print("這是一個生成器", d) print(next(d)) print(next(d)) print("**" * 20) for i in foo(): print(i)