Python的迭代器与可迭代对象

__next__()方法的都是迭代器(Iterator), 可迭代对象(Iterable)是可用于for循环的。
集合数据类型如list、dict、str等都是可迭代对象,可以通过iter变成迭代器。

for的本质是通过__next__()方法实现的。

Iterator对象表示的是一个数据流,iterator对象可以被__next__()
方法调用并不断返回下一个数据,直到没有数据时抛出StopIteration异常。
可以把这个数据流看做是一个有序序列,但我们却不能提前知道序列的长度,
只能不断通过__next__()方法实现按需要求计算下一个数据,所以Iterator
的计算是惰性的,只有要返回一个数据它才会计算。

Python2.x是next()方法。

注:如有错误请大佬留言!!

猜你喜欢

转载自www.cnblogs.com/lv007/p/10901979.html