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

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

内容简介:浅谈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异常后循环就会结束。


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

查看所有标签

猜你喜欢:

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

Hacking Growth

Hacking Growth

Sean Ellis、Morgan Brown / Crown Business / 2017-4-25 / USD 29.00

The definitive playbook by the pioneers of Growth Hacking, one of the hottest business methodologies in Silicon Valley and beyond. It seems hard to believe today, but there was a time when Airbnb w......一起来看看 《Hacking Growth》 这本书的介绍吧!

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具