浅谈python可迭代对象,迭代器

栏目: Python · 发布时间: 6年前

内容简介:浅谈python可迭代对象,迭代器

迭代器

迭代器 是一种更抽象的概念。

迭代是访问数据的一种方式。迭代器是一个可以记住遍历位置的对象,迭代器对象从集合的第一个元素开始访问,直到所有的元素访问完后结束。 迭代器只能往前去访问下一个元素,不能后退

迭代器就是可迭代对象调用 iter() 方法,返回了一个迭代器

那么什么是 可迭代对象 呢?

字符串列表字典元祖 等这些容器可以使用for循环进行遍历依次拿到容器中的数据,我们把这样的过程称为迭代。你也可以理解为只要能用for循环语句进行遍历的其实就是可迭代对象。你也可以查看创建这个对象的类中是否实现iter()方法,只要实现了这个方法那么他就是一个可迭代对象

可迭代对象的本质就是向我们提供了一个中间人,即迭代器帮助我们进行迭代遍历。可迭代对象通过调用自身的iter()方法向我们返回一个迭代器。我们在迭代可迭代对象的时候实际上就是先获取该对象提供的一个迭代器,然后通过迭代器来依次获取对象中的每一个数据

比如说查看产看创建my_list这个对象的类

浅谈 <a href='https://www.codercto.com/topics/20097.html'>python</a> 可迭代对象,迭代器

list这个类中就实现了iter()方法

浅谈python可迭代对象,迭代器

也可以使用 istance() 这个内置函数来判断一个对象是否是可迭代对象

浅谈python可迭代对象,迭代器

当然也可以使用这个内置函数判读这个对象是不是迭代器。

浅谈python可迭代对象,迭代器

想要获取迭代器中的数据可以使用next()方法

浅谈python可迭代对象,迭代器

使用next()方法的时候迭代器会给你返回一个迭代器中的数据,并且他会记录当前所在位置的下标,当你下一次再调用的时候他会给你返回上次记录的下标的下一个数据,以此类推,直到所有迭代器中的数据被访问完后停止

浅谈python可迭代对象,迭代器

当迭代器中的数据都被访问完后你还想继续访问的话,那么他会给你抛出一个异常,例如

浅谈python可迭代对象,迭代器

其实for循环的本质就是,当我们使用for循环去遍历一个可迭代对象的时候,首先会通过调用可迭代对象的iter()方法返回的迭代器,然后用next()方法依次去访问迭代器中的每一个数据,并且把取到的数据赋值给for后面的那个临时变量来保存,当遇到StopIteration异常后循环就会结束。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

从“为什么”开始

从“为什么”开始

[美] 西蒙·斯涅克 / 苏西 / 海天出版社 / 2011-7 / 32.00元

影响人类的行为:要么靠操纵,要么靠感召。 操纵带来的是交易,是短期效益; 感召带来的是信任,是永续经营! 盖茨走后,微软面临怎样的挑战?后盖茨时代,微软为何从一个希望改变世界的公司沦落为一个做软件的公司? 沃尔玛的灵魂人物过世后,一度被人们热爱的公司,遭到的竟然多是顾客、员工的反感?沃尔玛要怎样做才能重放昔日光彩? 星巴克吸引人们购买的不是咖啡,而是理念?为什么说霍华......一起来看看 《从“为什么”开始》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具