1:在实际应用中,在程序中列表长度过于庞大,占用系统较大的内存,对于这个问题,
我们会用到 yield 函数(生成器)带yield的函数是一个生成器,而不是一个函数了,这个生成器有一个函数就是next函数,
next就相当于“下一步”生成哪个数,这一次的next开始的地方是接着上一次的next停止的地方执行的,所以调用next的时候,
生成器并不会从foo函数的开始执行,只是接着上一步停止的地方开始,然后遇到yield后,return出要生成的数
def foo(): b = [3, 2, 4, 53, 33, 22] for i in b: print("遍历列表的数据", i) """ Yield 相当于一个return 函数,跟ruturn 不同的是, 用了yield 函数,函数就变成了一个生成器,可以遍历函数,也可以用 next() next函数会用上一次暂停位置启动 """ yield 5 d = foo() print("这是一个生成器", d) print(next(d)) print(next(d)) print("**" * 20) for i in foo(): print(i)