一、迭代器介绍
迭代器(Iterator):迭代器可以看作是一个特殊的对象。每次调用对象时,它都会返回其下一个元素。从实现的角度来看,迭代器对象必须定义__iter__()方法和next()方法的对象。
Python的Iterator对象表示数据流,可以看作是有序列,但我们不能提前知道序列的长度,因此Iterator的计算是惰性的,只有在需要返回下一个数据时才会计算;Iterator对象可以被next()函数调用并返回下一个数据,直到没有数据抛出Stopiteration错误;所有Iterable可迭代对象都可以通过内置函数iter()转换为迭代器iteration。
__iter__( )方法是让对象可以使用for … In循环遍历时找到数据对象的位置,next( )方法是让对象通过next(实例名)访问下一个元素。除了通过内置函数next调用来判断它是否是迭代器外,还可以通过collection中的Iterator类型来判断。如: isinstance(’’, Iterator)可以判断字符串类型是否为迭代器。注意: list、dict、虽然str是Iterable,但不是Iterator。
迭代器的优点:节省内存(数据不需要在循环过程中一次读取,因为文件也是迭代器对象,在处理文件对象时特别有用)、不依赖索引值,实现惰性计算(需要时再计算值);
例如:以迭代器的形式访问文件
forlineinopen(“test.txt”):print(line)
点击查看python如何使用迭代器。
(推荐操作系统:windows7系统Python 3.9.1,DELL G3电脑。)