勵志

勵志人生知識庫

生成器是什麼

生成器Python中一種特殊類型的函式,使用yield關鍵字定義。

它與普通函式的主要區別在於,生成器返回的是一個疊代器,可以用於疊代操作。在生成器函式執行的過程中,每次遇到yield語句時,函式會暫停並保存當前所有的運行信息,返回yield語句後的值,然後在下次調用next()方法時,從當前位置繼續執行。這種特性使得生成器在生成值時非常高效,因為它只在需要時才生成值,而不是一次性生成所有值。

此外,生成器在行為上與疊代器非常類似,但定義起來更為簡單。在for循環中,生成器表現得像一個標準的疊代器,自動調用next()方法直到拋出StopIteration異常。