前言
Python 中的生成器(Generator)是一种特殊类型的迭代器,用于在循环中一次生成一个值,而不是一次生成所有值。生成器通过 yield
关键字来返回值,与普通函数不同,它在每次返回后会暂停执行,保留函数的状态,直到下一次调用时继续执行。Python 生成器提供了一种高效且优雅的方式来处理数据,特别是在处理大型数据集或流式数据时。
什么是生成器?
生成器是 Python 中的一种特殊函数,它可以像函数那样被调用,但不同于普通函数的是,生成器并不会一次性返回所有的结果,而是在每次调用时返回一个值,然后暂停执行,等待下一次被调用。这种行为是通过 yield
关键字实现的。
普通函数vs生成器
def normal_function():
return [1, 2, 3]
def generator_function():
yield 1
yield 2
yield 3
在使用普通函数时,返回的是一个完整的列表,而生成器函数返回的是一个生成器对象,该对象可以逐步获取值。
生成器的基本用法
要理解生成器,首先需要了解 yield
关键字的作用。yield
类似于 return
,但每次