刚开始对生成器(generator)并不是很明白,编程的时候就一直报错……其实生成器就是记住数产生的算法逻辑,需要调用的时候再进行计算,简单逻辑的生成器可以直接用小括号表示,较为复杂的生成器可以通过构建函数并利用“yield”构造generator。
注意:generator和函数的执行顺序不同。函数是顺序执行,遇到return或最后一条执行语句时才返回(把所有工作都做完了才结束);generator每次生成一个值(yield)的时候就返回该值,若需要生成下一个值时才从yield下一条指令继续执行(有种推一下做一下的感觉)。
练习题: