Python 面试题
目录

Python 中什么是迭代器 (iterator)?

· 约 3 分钟读完 · 第 31 / 171 章

推荐答案

在 Python 中,迭代器(iterator)是一个对象,它实现了迭代器协议,即包含 __iter__() 和 __next__() 方法。迭代器用于遍历容器中的元素,并且每次调用 __next__() 方法时,它会返回容器中的下一个元素。当没有更多元素可返回时,迭代器会抛出 StopIteration 异常。

本题详细解读

迭代器的定义

迭代器是一个对象,它允许程序员遍历容器中的所有元素,而不必关心容器的内部结构。迭代器对象必须实现两个方法:

  1. __iter__():返回迭代器对象本身。这个方法使得迭代器对象可以在 for 循环中使用。
  2. __next__():返回容器中的下一个元素。如果没有更多元素,则抛出 StopIteration 异常。

迭代器的使用

迭代器通常用于 for 循环中,但也可以手动使用 next() 函数来逐个获取元素。

自定义迭代器

你可以通过定义一个类并实现 __iter__() 和 __next__() 方法来创建自定义迭代器。

迭代器与可迭代对象的区别

  • 可迭代对象:实现了 __iter__() 方法的对象,可以返回一个迭代器。例如,列表、元组、字符串等都是可迭代对象。
  • 迭代器:实现了 __iter__() 和 __next__() 方法的对象,用于遍历可迭代对象中的元素。

总结

迭代器是 Python 中用于遍历容器元素的重要工具。通过实现 __iter__() 和 __next__() 方法,你可以创建自定义的迭代器,从而更灵活地处理数据。