yield函数是Python中的一种特殊函数,用于生成迭代器。当函数中包含yield关键字时,它就成为一个生成器函数。
生成器函数可以通过调用next()函数逐步返回值,并在每次调用后暂停执行,保存当前状态。下次调用时从上次暂停的地方继续执行。
例如,以下是一个简单的示例:
def generator_func():
yield 1
yield 2
yield 3
gen = generator_func()
print(next(gen)) # 输出:1
print(next(gen)) # 输出:2
print(next(gen)) # 输出:3
在这个示例中,generator_func()是一个生成器函数。每次调用next(gen)时,它会从上一次yield语句处继续执行,并返回yield后面的值。通过连续调用next(),我们可以依次获取生成器函数内部所有yield语句对应的值。
使用yield函数可以实现惰性计算和节省内存等优化操作,在处理大量数据或需要按需生成结果的情况下很有用。
内容由零声教学AI助手提供,问题来源于学员提问