Python 生成器(Generators)是一种特殊的迭代器,允许你逐个产生值而不是一次性地生成整个数据集。在处理大量数据或者需要节省内存时,生成器非常有用。

生成器的基本概念

  • 定义生成器:生成器是一个函数,通过使用 yield 关键字返回值,而不是 return。每次调用生成器时,它会从上次 yield 的位置恢复执行。

  • 迭代生成器:生成器可以被迭代,每次迭代会返回下一个值,直到生成器耗尽。

示例

def generate_numbers():
    for i in range(5):
        yield i

gen = generate_numbers()
for number in gen:
    print(number)

这段代码会输出:

0
1
2
3
4

生成器的优势

  • 节省内存:生成器不会一次性将所有数据加载到内存中,而是按需生成。

  • 易于理解:生成器使得代码更加简洁和易于理解。

扩展阅读

想要了解更多关于 Python 生成器的知识,可以阅读Python 生成器官方文档


Python Generator Concept