Python 生成器¶
生成器(generator)是一种返回一个值的迭代器,每次从该迭代器取下一个值。
生成器有两种表示:
生成器表达式
生成器函数
生成器表达式¶
是用圆括号来创建生成器,其语法与推导式相同,只是将 [] 换成了 () 。 生成器表达式会产生一个新的生成器对象。类似迭代器
函数¶
如果包含 yield 指令,该函数调用的返回值是一个生成器对象,此时函数体中的代码并不会执行,只有显示或隐示地调用 next 的时候才会真正执行里面的代码。yield可以暂停一个函数并返回此时的中间结果。该函数将保存执行环境并在下一次恢复。
生成器可以通过 send() 接收外部传入的值