【转载】Yield,迭代器,生成器
生活随笔
收集整理的這篇文章主要介紹了
【转载】Yield,迭代器,生成器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
迭代器(Iterator)
迭代器是一個實現了迭代器協議的對象,Python中的迭代器協議就是有next方法的對象會前進到下一結果,而在一系列結果的末尾是,則會引發StopIteration。
迭代器一個顯而易見的好處就是:每次只從對象中讀取一條數據,不會造成內存的過大開銷。
生成器(constructor)
生成器函數在Python中與迭代器協議的概念聯系在一起。簡而言之,包含yield語句的函數會被特地編譯成生成器。當函數被調用時,他們返回一個生成器對象,這個對象支持迭代器接口。函數也許會有個return語句,但它的作用是用來yield產生值的。
不像一般的函數會生成值后退出,生成器函數在生成值后會自動掛起并暫停他們的執行和狀態,他的本地變量將保存狀態信息,這些信息在函數恢復時將再度有效。
https://www.sohu.com/a/336694803_120104204
總結
以上是生活随笔為你收集整理的【转载】Yield,迭代器,生成器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 正则表达式调用“或”变量
- 下一篇: Windows python用impyl