Python迭代器的執行原理

2021-10-08 06:59:48 字數 771 閱讀 5356

在讀取比較大的資料檔案並且對檔案進行大規模的操作(比如節點插值等問題)的時候,往往需要占用大量記憶體,而利用迭代器可以節約記憶體空間,提高效率,所以就準備深入了解一下迭代器的原理。

乙個迭代器物件必須包含兩個操作,乙個是能夠給出迭代物件中當前的元素,乙個是要拿到下乙個元素。這兩者在迭代器物件的構造中對應兩個特殊方法,它們分別是__init__()和__next__方法。示例**如下:

class

number()

:def

__init__

(self, start, end)

: self.start = start

self.end = end

def__iter__

(self)

:return self

def__next__

(self)

: a = self.start

if self.start <= self.end:

self.start +=

1return a**

2else

:raise stopiteration

呼叫上面的number類如下:

for i in number(1,

9):print

(i)

執行結果如下:

149

1625

3649

6481

python的迭代器 Python 迭代器

迭代器 迭代是訪問集合元素的一種方式。迭代器是乙個可以記住遍歷的位置的物件。迭代器物件從集合的第乙個元素開始訪問,直到所有的元素被訪問完結束。迭代器只能往前不會後退。可迭代物件 以直接作用於 for 迴圈的資料型別有以下幾種 一類是集合資料型別,如 list tuple dict set str 等...

python的迭代器 python 迭代器

在介紹迭代器之前,先說明下迭代的概念 迭代 通過for迴圈遍歷物件的每乙個元素的過程。python的for語法功能非常強大,可以遍歷任何可迭代的物件。在python中,list tuple string dict set bytes都是可以迭代的資料型別。可以通過collections模組的iter...

python的迭代器 Python 迭代器

概述迭代器是訪問集合元素的一種方式。迭代器物件從集合的第乙個元素開始訪問,直到所有的元素被訪問完結束。迭代器只能往前不會後退。延遲計算或惰性求值 lazy evaluation 迭代器不要求你事先準備好整個迭代過程中所有的元素。僅僅是在迭代至某個元素時才計算該元素,而在這之前或之後,元素可以不存在或...