生成器函数是Python中一个强大而灵活的特性,它使用关键字yield来实现迭代器的创建。它不仅能够节省内存,还可以按需生成数据,使得代码更加高效和可读。在本文中,我们将探索yield的使用方法,并通过示例代码来说明其强大之处。
生成器函数的定义与普通函数类似,但是使用yield关键字来替代return关键字。当生成器函数被调用时,它会返回一个生成器对象,而不是立即执行函数体中的代码。每次调用生成器对象的next()方法时,函数会从上次离开的地方继续执行,直到遇到yield关键字。yield会将一个值生成出来,并将函数暂停,保存当前的状态。当再次调用next()方法时,函数会从暂停的地方继续执行,直到再次遇到yield或函数结束。
下面是一个简单的示例,展示了如何使用yield生成一个简单的计数器:
def counter():
i =