1.什么是生成器

  生成器又可以叫自定义迭代器

2.生成器与yield

  若函数体包含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)

 未完...待补充