可迭代物件 迭代器 生成器

2022-08-30 10:36:13 字數 465 閱讀 1502

名詞解釋:

可迭代物件:

1、遵循了(實現了)迭代器協議的物件。(物件內部定義了乙個__iter__()方法,以實現迭代器協議)  

2、列表、元組、字典、字串等等的都不是可迭代物件,當用for迴圈遍歷的時候,其實for先去執行了.__iter__()方法,將列表、元組、字串等變成乙個可迭代的物件,在進行迭代。(__iter__()下有__next__()方法!)

迭代器:

1、擁有__iter__方法和__next__方法的物件就是迭代器

生成器generator:  

1、生成器函式:常規函式定義,但是,使用yield語句而不是return語句返回結果。yield語句一次返回乙個結果,在每個結果中間,掛起函式的狀態,以便下次重它離開的地方繼續執行

2、生成器表示式:類似於列表推導,但是,生成器返回按需產生結果的乙個物件,而不是一次構建乙個結果列表,按需取出物件(使用括號代替方括號即可)

可迭代物件 迭代器,生成器

可迭代物件 iterator 列表 集合 元組 字典 字串 生成器 我們可以使用isintance 判斷乙個物件是否是iterator物件 生成器 通過列表生成式,我們可以直接建立乙個列表,但是,受到記憶體限制,列表容量肯定是有限的,如果我們僅僅需要訪問前面幾個元素,如果列表元素可以按照某種演算法推...

可迭代物件 迭代器 生成器

可迭代物件 for迴圈機制 迭代器生成器 總結type所返回的型別是例項物件的類物件,而isinstance所進行的判斷則包含了例項物件的類物件及其父類。如圖 可迭代物件 迭代器 生成器所屬的型別分別為collections包裡的iterable,iterator,generator.實現了 ite...

迭代,可迭代物件,迭代器,生成器詳解

1.迭代 就是在一些元素中獲取元素的過程或者一種方式 利用迴圈 2.可迭代物件 1.生成器 1.1 列表推導式 將列表推導式外括號換成 小括號 1.2 函式中包含yield關鍵字 2.列表,元組,字串,字典 使用isinstance 語句來判斷是否是可迭代物件 演示 from collections...