国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python 迭代器與可迭代對象

2019-11-08 19:34:19
字體:
來源:轉載
供稿:網友

迭代器是Python中非常重要的一個概念,很多的操作都是基于迭代器去做的, 比如說我們最常用的 for 循環,還有生成器其實也是一個迭代器,所以說迭代器也不是什么神秘的東西,主要需要區分清楚兩個概念: 迭代器,可迭代對象。這里我們對迭代相關的知識做一個簡單的梳理。

iter函數


其實系統內置的iter 函數只是調用對象的__iter__方法,這個方法按照協議會返回一個迭代器,使得for循環這樣的語法結構能夠進行下去。

可迭代對象


實現了__iter__ 方法,就是可以迭代的可以返回自身作為迭代器,也可以返回其他一個迭代器對象使用 For 循環的時候其實也是調用iter函數使對象返回一個迭代器,再使用迭代器進行循環

迭代器


python2: 實現了 next 方法python3: 實現了 __next__ 方法

next函數


調用迭代器的 next 或__next__方法,一直到結束對象函數返回 StopIteration 異常

迭代器與可迭代對象聯系


其實沒有什么必要聯系一個對象可以同時既是可迭代對象又是迭代器,只要方法里有 next(python2) 或__next__(python3) 又有 __iter__ 方法,慣用的做法是__iter__方法返回自己作為迭代器。

NOTE


迭代器是單向的迭代器轉化為list或tuple之后就已經迭代到達尾端,不可再繼續用了
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 怀化市| 泗水县| 东阿县| 临高县| 莱州市| 金山区| 华坪县| 监利县| 砀山县| 科技| 延津县| 孟连| 鄂尔多斯市| 大余县| 名山县| 凤庆县| 来宾市| 凤翔县| 临桂县| 高陵县| 重庆市| 岳阳县| 尼勒克县| 丰镇市| 安塞县| 缙云县| 策勒县| 沙坪坝区| 勐海县| 芮城县| 瑞丽市| 格尔木市| 遂平县| 安西县| 连云港市| 玛纳斯县| 唐河县| 娄底市| 安徽省| 金乡县| 大连市|