(一)什么是生成器
生成器(generator)是用来创建数据序列的一种对象。使用它可以迭代庞大的序列,且不需要在内存中创建和存储整个序列。通常生成器是为迭代器产生数据的。
(二)生成器函数
1.如果要创建一个比较大的序列,生成器推导式会比较复杂,一行表达式无法容纳,这时可以定义生成器函数。
2.生成器函数与普通函数:生成器函数的定义与普通函数相同,只是将return 换成了yield。
3.yield与return的区别:
yield语句:立即返回一个值;下一次迭代生成器函数时,从yield语句后的语句继续执行,直到再次yield返回,或终止。
return语句:终止函数的执行,下次调用会重新执行函数。