【高级特性】50、生成器函数【高级特性】50、生成器函数
目录
一、什么是生成器
二、生成器函数
一、什么是生成器
- 生成器(generator)是用来创建数据序列的一种对象
- 使用它可以迭代庞大的序列,且不需要在内存中创建和存储整个序列
- 通常生成器是为迭代器产生数据的
迭代器的一种实现
二、生成器函数
- 如果要创建一个比较大的序列,生成器推导式将会比较复杂,一行表达式无法容纳,这时可以定义生成器函数
- 生成器函数与普通函数
生成器函数的定义与普通函数相同,只是将return换成了yield
-
yield语句
立即返回一个值
下一次迭代生成器函数时,从yield语句后的语句继续执行,直到再次yield返回,或终止 -
return语句
终止函数的执行,下次调用会重新执行函数 -
协同程序
可以运行的独立函数调用,函数可以暂停或挂起,并在需要的时候从离开的地方继续或重新开始 -
函数even_number返回一个生成器对象
微信赞赏支付宝赞赏