成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python編程:可迭代對象與迭代器(Iterable & Iterator)

開發 前端
迭代器(Iterator)是指表示數據流的對象。反復調用迭代器的__next__()方法(或將其傳遞給內置函數next())將返回流中的連續項。當沒有更多的數據可用時,將引發StopIteration異常。

前言

在Python編程中,循環處理是不可避免的,這涉及到兩個重要的概念,即可迭代對象和迭代器(Iterable & Iterator)。這個關于迭代的主題,我將分為兩到三篇內容來介紹,以幫助你在實際編程中理解和應用。本文為第一篇。

可迭代對象

可迭代對象(Iterable)是指能夠一次返回一個成員的對象??傻鷮ο蟮睦影ㄋ行蛄蓄愋?如list, str和tuple)和一些非序列類型,如dict,文件對象,以及任何你所定義的類的對象,其實現了__iter__()方法或__getitem__()方法所規定的序列語義——及迭代協議(詳見這里:)。

可迭代對象可以用于for循環和其他需要序列的地方(如zip(),map(),filter()…)。當可迭代對象作為參數傳遞給內置函數iter()時,它將返回該對象的迭代器(iterator)。這個迭代器只適合一組值的一次性遍歷。在使用可迭代對象時,通常不需要調用iter()或自己處理迭代器對象。用for語句自動為來完成這一工作,它創建一個臨時的未命名變量,其用于在循環期間保存迭代器。

簡而言之,可迭代對象是任何實現了__iter__()方法或__getitem__()方法的類對象。

迭代器

迭代器(Iterator)是指表示數據流的對象。反復調用迭代器的__next__()方法(或將其傳遞給內置函數next())將返回流中的連續項。當沒有更多的數據可用時,將引發StopIteration異常。此時,迭代器對象已經耗盡,任何對其__next__()方法的進一步調用都會再次引發StopIteration。迭代器必須具有返回迭代器對象本身的__iter__()方法,因此每個迭代器也是可迭代的(iterable),并且可以在接受其他可迭代對象的大多數地方使用。

簡而言之,迭代器是實現了包含兩個迭代器協議方法__next__()和__iter__()的數據流對象。

一個值得注意的例外是試圖多次迭代的代碼(多次使用同一個迭代器)。容器對象(如列表)每次將其傳遞給iter()函數或在for循環中使用時都會生成一個新的迭代器。使用迭代器嘗試此操作將只返回上一個迭代過程中使用的耗盡的迭代器對象,使其看起來像一個空容器。所以在編寫代碼中要避免這樣的情況出現。

iter函數

另外,需要了解的是內置函數iter() (其在幕后調用__iter__()方法)返回的是一個迭代器對象。所以我們可以說。可迭代對象(iterable)是一個返回迭代器的對象。

為了進一步理解迭代器和可迭代對象,我將后續講解和代碼示例,進一步介紹如下幾點關鍵內容:

  • 迭代器協議與循環
  • 實現自定義迭代器。
責任編輯:武曉燕 來源: 今日頭條
相關推薦

2021-11-28 08:03:41

Python迭代器對象

2020-11-24 08:00:22

JavaScript對象迭代器

2021-09-03 10:00:00

JavaScript迭代對象

2021-09-14 07:26:25

JavaScript迭代對象

2024-11-14 13:15:22

JavaScript可迭代數組

2025-03-26 10:56:54

2022-01-15 10:01:15

Javascript 高階函數前端

2009-08-11 13:59:41

迭代器模式C# Iterator

2021-07-07 05:07:15

JDKIterator迭代器

2017-06-26 16:26:15

Python迭代對象迭代器

2016-03-28 10:39:05

Python迭代迭代器

2022-10-26 09:27:59

Python編程迭代器協議

2022-10-24 13:02:38

2024-03-25 08:57:49

模塊迭代對象迭代器

2009-08-19 15:18:53

迭代器

2024-09-18 13:49:42

2013-08-19 16:44:15

.Net

2009-12-15 14:58:19

Ruby迭代器

2011-07-13 13:56:06

STL迭代器

2024-05-10 11:31:59

Python迭代器生成器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 色接久久 | 精品综合视频 | 免费亚洲网站 | 在线观看国产91 | 狠狠骚 | 爱高潮www亚洲精品 中文字幕免费视频 | 日韩一区二区三区在线 | 日韩在线一区二区 | 91亚洲欧美 | 欧美一区二区在线 | 欧美一级观看 | 99re在线播放 | 久久久久国产精品一区二区 | 男人天堂网av | 一级二级三级在线观看 | 久久一区二区三区四区 | 中文字幕亚洲在线 | 国产自产c区 | 91精品国产综合久久久久久蜜臀 | 精品日本久久久久久久久久 | 毛片免费看 | 999久久久| 天天干视频 | 久久99精品国产自在现线小黄鸭 | 日本不卡一区二区三区 | 91.xxx.高清在线 | 亚洲视频免费观看 | 中文字幕av一区二区三区 | 黄色片网此 | 精品欧美二区 | 欧美三区在线观看 | 99热碰| av色站| 久久不卡 | 欧美在线一区二区三区 | 理论片87福利理论电影 | 午夜丁香视频在线观看 | 国产一区日韩在线 | 欧美国产日韩精品 | 国产视频精品视频 | 欧美激情黄色 |