成人免费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技術棧公眾號

主站蜘蛛池模板: 成人精品网 | 国产一区久久 | 国产成在线观看免费视频 | 99成人| 人人九九精| 欧美一级精品片在线看 | 每日更新av | 久久黄色网 | 一级毛片,一级毛片 | 国产一区免费视频 | 自拍偷拍亚洲一区 | 成人av播放| 日本成人免费观看 | 亚洲精品一区二区三区蜜桃久 | 午夜一区二区三区在线观看 | 日韩色综合 | 国产四区 | 午夜免费精品视频 | 美女黄视频网站 | 国产h在线| 亚洲精品一区中文字幕乱码 | 亚洲永久精品国产 | 欧美日韩免费一区二区三区 | 中文字幕一区二区三区不卡 | 久久久久亚洲精品国产 | 开操网 | 91久久精品一区二区二区 | 婷婷色成人 | 羞羞网站在线免费观看 | 精品国产免费一区二区三区演员表 | 欧美色欧美亚洲另类七区 | 国产伦精品一区二区三区视频金莲 | 国产激情第一页 | 99久久婷婷国产综合精品电影 | 国产成人a亚洲精品 | 亚洲激情在线 | 欧美视频一区二区三区 | 欧美高清视频在线观看 | 日韩av大片免费看 | 精品国产91乱码一区二区三区 | 岛国午夜 |