python讀書筆記之一:生成器

生成器和一般的函數的最大區別是一個生成器yield一個值,而不是return一個值。yield語句會將函數掛起,並向他的調用者返回一個值,但是保存足夠的信息狀態爲了讓其能夠在從他掛起的地方恢復。這能夠允許這些函數不斷產生一系列值,而不是一次產生所有值,之後將值以類似列表的形式返回。



包含了yield語句的函數將被編譯爲生成器。

儘管上面的例子我們也可以使用for,map或者列表解析的技術實現,但生成器在第一線做了所有工作,當結果列表很大或者處理每一個結果都需要很長時間時,這一點就很有用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章