1 分析
(1)yield语句将中止函数的执行并将一个值发送回调用方,但保留足够的状态以使函数可以在中断的地方继续执行。恢复后,该函数将在最后一次运行后立即继续执行。这使它的代码可以随着时间的推移产生一系列值,而不是立即计算它们并像列表一样将它们发送回去。
(2)yield在Python生成器中使用。生成器函数的定义类似于普通函数,但是每当需要生成一个值时,它都使用yield关键字而不是return来这样做。如果def的主体包含yield,该函数将自动成为生成器函数。
(3)Return将指定的值发送回其调用方,而Yield可以产生一系列值。当我们要遍历一个序列,但又不想将整个序列存储在内存中时,应该使用yield。
2 举例
def simpleGeneratorFun():
yield 1
yield 2
yield 3
# Driver code to check above generator function
for value in simpleGeneratorFun():
print(value)
输出:
1
2
3