YIELD函數是一個在Python中用于生成器函數的關鍵字。生成器函數是一種特殊的函數,它可以在執行過程中暫停并返回一個值,然后在需要時恢復執行。YIELD函數的作用是在生成器函數中暫停執行并返回一個值。當生成器函數被調用時,它會返回一個生成器對象。每次調用生成器對象的next()方法時,生成器函數會從上次暫停的位置繼續執行,直到遇到YIELD函數,然后將YIELD后面的值作為next()方法的返回值返回,并暫停執行。舉個例子,下面是一個簡單的生成器函數,它生成一個從0開始的無限序列:```pythondef infinite_sequence(): num = 0 while True: yield num num += 1```調用這個生成器函數會返回一個生成器對象:```pythongen = infinite_sequence()```每次調用生成器對象的next()方法會返回下一個值:```pythonprint(next(gen)) # 輸出0print(next(gen)) # 輸出1print(next(gen)) # 輸出2```YIELD函數的作用在這里就體現出來了。每次調用next()方法時,生成器函數會從上次暫停的位置繼續執行,并在執行到YIELD函數時返回一個值并暫停執行。這樣就可以實現一個無限序列的生成器函數,而不需要一次性生成所有的值。