在Python编程中,迭代器(Iterator)和生成器(Generator)是非常强大且常用的概念。它们提供了一种便捷的方式来处理大型数据集合或者需要逐个处理元素的任务。本文将详细介绍迭代器和生成器的概念,并提供相应的源代码示例。
迭代器(Iterator)
迭代器是一个实现了迭代协议(Iterator Protocol)的对象,它能够在遍历时逐个返回元素。迭代器的特点是惰性计算,即只在需要的时候才会生成下一个元素,这样可以节省内存空间并提高效率。
要创建一个迭代器,我们需要定义一个包含 __iter__()
和 __next__()
方法的类。__iter__()
方法返回迭代器对象本身,而 __next__()
方法返回下一个元素。当没有更多元素可返回时,__next__()
方法应该引发 StopIteration
异常。
下面是一个简单的示例,演示了如何创建一个迭代器来遍历一个列表:
class MyIterator