1.什么是生成器
生成器又可以叫自定义迭代器
若函数体包含yield关键字,再调用函数,并不会执行函数体代码,得到的返回值即生成器对象
def func(): print(‘我是蒙奇d路飞‘) yield 1 print(‘一个要成为‘) yield 2 print(‘海贼王的男人‘) yield 3
# 调用阶段
func() # 不会执行 g = func() # 把函数调用赋值给另外一个函数
res = next(g) # 触发函数体代码执行,直到遇到yield停止,并将yield的返回值赋值给res print(res) # 打印yield的返回值 res = next(g) # 再次调用,函数从上次暂停位置继续执行,直到再次遇到yield停止... print(res) res = next(g) # 周而复始 print(res)
未完...待补充
原文:https://www.cnblogs.com/poco/p/14598784.html