Python 專案開發入門的十堂課
第二堂 利用 Python 處理資料:Python 的內建資料型態 - 迭代器與產生器
重點整理
- 迭代器是遵守 Iterator Protocol 的物件,迭代器必須定義 __iter__() 跟 __next__() 方法。
- 內建函數 iter() 可以將串列、字串、序對等物件轉換成迭代器, next() 回傳迭代器物件的下一個元素。
- 如果迭代器物件已經沒有元素,再用 next() 會得到 StopIteration 的錯誤。
- 迭代器物件同樣可以用在 for-in 迴圈中,依序取得元素。
- 迭代器物件的特點是依序取出元素,這跟串列、字串、序對包含資料的物件有所不同。
- 產生器是一種可以自行定義的迭代器,用關鍵字 yield 在函數中定義。
相關文章