python中迭代器和生成器的区别,Python的迭代器
一、迭代器介绍
迭代器:迭代器可以看作是一个特殊的对象,每次被调用都会返回它的下一个元素。从实现的角度来看,迭代器对象必须是定义了_ _ iterator _ _()方法和next()方法的对象。
Python的Iterator对象表示一个数据流,可以看作一个有序序列,但是我们无法提前知道序列的长度,所以Iterator的计算比较懒,只有需要返回下一个数据的时候才会计算;Iterator对象可以被next()函数调用,一直返回下一个数据,直到没有数据时抛出StopIteration错误;的所有可迭代对象都可以通过内置函数iterator()转换成迭代器。__iter__()方法是让对象在迭代for … in时找到数据对象的位置,next()方法是让对象通过next(实例名)访问下一个元素。除了接下来调用内置函数,是否是迭代器可以通过集合中的迭代器类型来判断。比如isinstance( ,Iterator)可以确定一个字符串类型是否是迭代器。注意:虽然list、dict和str是可迭代的,但它们不是迭代器。迭代器的优点:节省内存(在循环的过程中,数据不需要一次读入,在处理文件对象时特别有用,因为文件也是迭代器对象),不依赖index获取值,实现了懒计算(必要时重新获取值);二、举例:用迭代器的方式访问文件forlineinopen(" test . txt "): print(line)你可以点击查看python如何使用迭代器。
(推荐操作系统:windows7系统,Python 3.9.1,戴尔G3电脑。)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。