生成器(Generator)和迭代器(Iterator)是 Python 中用于处理可迭代对象
-
定义方式:生成器使用函数定义,通过
yield语句生成值,而迭代器可以通过实现__iter__和__next__方法来创建。 -
迭代方式:生成器是可迭代对象,可以通过
for循环直接迭代。迭代器需要使用iter()函数获取迭代器对象,并使用next()函数逐步获取值。
3. 数据源****:
-
- 生成器可以根据需要生成值,可以是任意数据源,例如函数、列表、文件等。
- 迭代器通常是基于某种数据结构或容器对象的,如列表、字典等
生成器:

获取一个生成器对象 fib,然后可以通过迭代该生成器对象来逐个获取斐波那契数列的值并打印出来。
迭代器:

__iter__ 方法返回迭代器对象本身,而 __next__ 方法定义了迭代器的迭代逻辑。在每次调用 __next__ 方法时,迭代器会返回列表中的下一个元素
通过创建一个迭代器对象 my_iterator 并使用 for 循环来遍历该迭代器,我们可以依次获取列表 my_list 中的元素并打印出来
浙公网安备 33010602011771号