可迭代物件
可⽤於迭代操作(for 迴圈)的物件。(擁有__iter__
⽅
法的物件)
注意:__iter__
⽅法的返回值是迭代器物件
迭代器任何由實現了__iter__
⽅法的類建立的物件都是可迭代對
象。任何由實現了__iter__
和__next__
⽅法的類建立的物件
都是迭代器物件。
迭代器是懶載入的(延遲載入的)
使⽤for對迭代器進⾏迭代時,每次迭代,都將執⾏迭代器
的__next__
⽅法
⽣成器⼀種特殊的迭代器。特殊在哪⾥呢?使⽤yield。
yield能儲存狀態
斐波那契數列:1, 1, 2, 3, 5, 8, 13, 21 …
def fib():
prev, curr = 0, 1
while true:
yield curr
prev, curr = curr, curr + prev
任何**中有yield語句的函式的返回值都是⼀個⽣成器對
象。⼩節:
迭代操作:
迭代操作可以對 可迭代物件、迭代器、⽣成器進⾏操作
因為迭代器⼀定是可迭代物件
⽣成器是特殊的迭代器
⽣成器⼀定是可迭代物件
⽣成器是python給我們內建好的⼀種迭代器 (yield)
python基礎知識整理
一 資料型別 整型 int 浮點型 float 複數型 字串型 二 輸入輸出 nnum input 請輸入 print 輸出的是 nnum print d nnum 三 選擇結構 if elif else 四 運算子 會得到小數 整除 次方 五 列表 list 元組 tuple 字典 dict so...
C 基礎知識整理 基礎知識(2) 類
類,是物件導向語言的基礎。類的三大特性 封裝 繼承 多型。最基本的特性就是封裝性。程式設計師用程式描述世界,將世界的所有事物都看成物件,怎麼描述這個物件?那就是類了。也就是用類來封裝物件。用書上的話說,類是具有相同屬性和行為的物件的抽象。寶馬汽車 別克汽車 五菱之光汽車.基本具有相同的屬性和行為,所...
C 基礎知識整理 基礎知識(2) 類
類,是物件導向語言的基礎。類的三大特性 封裝 繼承 多型。最基本的特性就是封裝性。程式設計師用程式描述世界,將世界的所有事物都看成物件,怎麼描述這個物件?那就是類了。也就是用類來封裝物件。用書上的話說,類是具有相同屬性和行為的物件的抽象。寶馬汽車 別克汽車 五菱之光汽車.基本具有相同的屬性和行為,所...