在Python中,yield
關鍵字主要用于生成器函數中。生成器函數是一個特殊的函數,它可以暫停并保存當前的狀態,然后在需要時恢復執行。當生成器函數被調用時,它并不立即執行,而是返回一個生成器對象,通過調用該生成器對象的next()
方法來依次獲取生成器函數中yield
語句生成的值。
例如:
def my_generator():
for i in range(5):
yield i
gen = my_generator()
print(next(gen)) # 輸出:0
print(next(gen)) # 輸出:1
在生成器函數中,yield
關鍵字的作用是將一個值生成出來,并暫停函數的執行,直到下一次調用next()
方法時繼續執行。這種方式可以避免生成大量數據時占用過多內存,而是在需要時逐個生成。