应用场景:为了减少数据存储,利用yeild构建生成器,与next配合使用,数据用多少,读多少,不需要一次性将所有的数据读进来。
与return的联系与区别:联系:都有返回函数值的功能。
区别:yield是一个生成器,生成器中由函数next(),next可以接着上次yield运行的地方,继续运行下面的函数。
目标:yield语句延迟了语句的执行,然后发送了一个值给调用者,但保留了一定的状态去保证函数离开之后可以继续。当继续的时候,函数继续执行上一个的运行状态。
示例代码1:
def foo():
print("starting...")
while True