生成器
一个包含yield关键字的函数就是一个生成器函数。yield可以为我们从函数中返回值,但是yield又不同于return,return的执行意味着程序的结束,调用生成器函数不会得到返回的具体的值,而是得到一个可迭代的对象。每一次获取这个可迭代对象的值,就能推动函数的执行,获取新的返回值。直到函数执行结束。
def func(): print(111) yield 1 print(222) yield 2 print(333) yield 3 ret = func() r = ret.__next__() print(r) r2 = ret.__next__() print(r2) r3 = ret.__next__() print(r3)
111 1 222 2 333 3