函数生成器
生成器是用来创建数据序列的一种对象
使用它可以迭代庞大的序列,且不需要在内存中创建和存储整个序列
通常生成器是为迭代器产生数据的 --迭代器的一种实现
与推导式语法一样
(<表达式> for <变量> in <可迭代对象> if <逻辑条件>)
返回一个生成器对象,也是可迭代对象
但生成器并不立即产生全部元素,仅在用到元素的时候才生成,可以极大节省内存
如果创建一个比较大的序列,生成器推导式将会比较复杂,一行表达式无法容纳,这是可以定义生成器函数。
生成器函数与普通函数:
生成器函数定义与普通函数相同,只是将return换成了yield