Python迭代器与可迭代对象简析

迭代器:

一个类如果实现了以下两个方法,它的实例就是迭代器。

  • __iter__:这个方法返回对象本身,即 self
  • __next__:这个方法每次返回迭代的值,在没有可迭代元素时,抛出 StopIteration 异常

迭代器可通过for循环迭代。

Python迭代器与可迭代对象简析_第1张图片

可迭代对象:

一个类只实现了__iter__方法,没有实现__next__方法。

 但是它在__iter__方法里面,返回的是一个迭代器,所以该类的对象是可迭代对象。

Python迭代器与可迭代对象简析_第2张图片

 一个可迭代对象虽然没有实现__next__方法,但是它的__iter__方法里面返回的是与一个迭代器,而迭代器里面实现了__next__方法。那么可迭代对象,就能把迭代的细节交给__iter__方法返回的迭代器。

参考链接:

Python进阶——什么是迭代器? - 知乎 (zhihu.com)

你可能感兴趣的:(python操作,python)