迭代器:迭代器可以看作是一个特殊的对象,它在每次被调用时返回它的下一个元素。从实现的角度来看,迭代器对象
必须是定义了__iter__()方法和next()方法的对象。
Python的Iterator对象代表一个数据流,可以看成是一个有序的序列,但是我们无法预先知道序列的长度,所以Iterator
的计算是惰性的,只有在需要返回下一个数据时才会计算; Iterator对象可以被next()函数调用,继续返回下一条数据,直到没有数据为止
当抛出 StopIteration 错误时;所有 Iterable 可迭代对象都可以通过内置函数 iter() 转换为迭代器。 __iter__( ) 方法是让对象可用
for ... in循环遍历时找到数据对象的位置,next()方法让对象通过next(实例名)访问下一个元素。除了通过内置函数next调用
除了判断是否为迭代器外,还可以通过集合中的Iterator类型来判断。例如:isinstance('', Iterator) 可以判断字符串类型是否为迭代器。笔记
注意:虽然 list、dict 和 str 是 Iterable,但它们不是 Iterator。迭代器的优点:节省内存(在循环过程中,不需要一次性读入数据,尤其是在处理文件对象时
有用,因为文件也是迭代器对象)、不依赖索引取值、实现惰性计算(需要时再取值计算)。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ Python如何保存py文件08/12
- ♥ 如何用python制作软件08/30
- ♥ python指针读取函数seek()如何使用?12/17
- ♥ 如何在python中检查字符串是否为小数09/15
- ♥ python第三方库在哪里09/28
- ♥ 如何在python中获得2位小数09/12
内容反馈