生成器函数是Python中非常强大且常用的特性之一。它们允许我们以一种优雅的方式迭代处理大量的数据或生成无限序列,而不需要一次性将所有数据加载到内存中。生成器函数的核心关键字是yield
,它可以将函数转变为一个生成器。在本文中,我们将详细讨论yield
的用法,并提供相应的源代码示例。
生成器函数的定义形式与普通函数相似,但是函数体中包含yield
关键字。当生成器函数被调用时,它会返回一个生成器对象,而不会立即执行函数体内的代码。相反,每次调用生成器对象的__next__()
方法(或使用内置函数next()
调用)时,生成器函数会从上次暂停的位置继续执行,直到遇到下一个yield
语句。
下面是一个简单的示例,展示了生成器函数的基本用法:
def my_generator():
yield 1
yield