迭代器主要是有兩個函式
函式1iter
函式2next
string =
'假期是真的太閒了'
這裡注意stopiteration
,通過raise stopiteration
我們可以直接讓乙個迴圈結束
為什麼會說迴圈,因為for
迴圈與這個迭代有關
我們通過重寫__iter__
和__next__
來利用for
迴圈完成對於斐波那契數列的輸出
最上面的例子中函式next
一直在返回下乙個資料
斐波那契例子中我們的next
一直在返回下乙個資料
然而這兩個重寫函式的函式都在for
迴圈中,迴圈每次進行__next__
都獲得了下乙個資料,然後我們再列印出來
這兩個函式都必須同時重寫,不能只寫乙個__next__
python 迭代器 筆記
1.凡事可用於for迴圈的物件都是iterable型別物件 2.凡事可做用於next 函式的物件都是iterator型別物件,他們表示乙個惰性計算的序列 3.集合資料型別list dicr str等是iterable物件不是iterator物件,但是可以通過呼叫iter 函式獲得乙個iterator...
Python筆記 迭代器
我們已經知道,可以直接作用於for迴圈的資料型別有以下幾種 一類是集合資料型別,如list tuple dict set str等 一類是generator,包括生成器和帶yield的generator function。這些可以直接作用於for迴圈的物件統稱為可迭代物件 iterable。1 可以...
python迭代器筆記
迭代器的優點 迭代器訪問與for迴圈訪問非常相似,但是也有不同之處。對於支援隨機訪問的資料結構如元組和列表,迭代器並無優勢。因為迭代器在訪問的時候會丟失資料索引值,但是如果遇到無法隨機訪問的資料結構如集合時,迭代器是唯一訪問元素的方式 迭代器僅僅在訪問到某個元素時才使用該元素。在這之前,元素可以不存...