1 有yield关键字的函数是一个生成器
2生成器的触发需要需要__next__()进行触发
案例:
def run(): count = 0 print('__next__()触发代码的执行') while True: n = yield count print("-->",n,count) count +=1 g = run() # 有yield 已经变成了一个生成器,调用run()不会执行代码 print('单独调用run不会执行代码') g.__next__() # 生成器需要调用__next__()时才会触发代码执行 g.send('王华') g.send('jack')# g.send('raom')# 结果:
单独调用run不会执行代码
__next__()触发代码的执行
-->王华 0