什么是生成器
在函数内但凡出现yield关键字,再调用函数就不会出现函数体代码,会返回一个值,该值被称为生成器
为什么要有生成器
生成器是一种自定义迭代器的方式
如何用生成器
def func(): print('first1') print('first2') print('first3') yield 1 #暂停 print('second1') print('second2') print('second3') yield 2 #暂停 print('third') yield 3 #暂停 print('fourth') g=func() print(g) #得到的是一个内存地址 print(g.__iter__().__iter__().__iter__() is g) res1=next(g) print('第一次的返回值:',res1) print('='*100) res2=next(g) print('第二次的返回值:',res2) print('='*100) res3=next(g) print('第三次的返回值:',res3) print('='*100) res4=next(g) print('第三次的返回值:',res4) for item in g: #g=iter(g) #item=next(g) print(item)