python迭代器是什麼

mpsky發表於2021-09-11

banner51(1).png

一、迭代器介紹

迭代器(Iterator):迭代器可以看作是一個特殊的物件,每次呼叫該物件時會返回自身的下一個元素,從實現上來看,一個迭代器物件必須是定義了__iter__()方法和next()方法的物件。

Python的Iterator物件表示的是一個資料流,可以把這個資料流看做是一個有序序列,但我們卻不能提前知道序列的長度,所以Iterator的計算是惰性的,只有在需要返回下一個資料時它才會計算;Iterator物件可以被next()函式呼叫並不斷返回下一個資料,直到沒有資料時丟擲StopIteration錯誤;所有的Iterable可迭代物件均可以透過內建函式iter()來轉變為迭代器Iterator。
__iter__( )方法是讓物件可以用for … in迴圈遍歷時找到資料物件的位置,next( )方法是讓物件可以透過next(例項名)訪問下一個元素。除了透過內建函式next呼叫可以判斷是否為迭代器外,還可以透過collection中的Iterator型別判斷。如: isinstance(’’, Iterator)可以判斷字串型別是否迭代器。注意: list、dict、str雖然是Iterable,卻不是Iterator。
迭代器優點:節約記憶體(迴圈過程中,資料不用一次讀入,在處理檔案物件時特別有用,因為檔案也是迭代器物件)、不依賴索引取值、實現惰性計算(需要時再取值計算);
二、舉例:用迭代器的方式訪問檔案
for line in open(“test.txt”):print(line)

關於,可以點選檢視。

(推薦作業系統:windows7系統、Python 3.9.1,DELL G3電腦。)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1806/viewspace-2830508/,如需轉載,請註明出處,否則將追究法律責任。

相關文章