生成器是一种特殊的函数,它会返回一个迭代器。定义一个生成器函数同定义一个普通函数没有什么区别,特殊之处在于生成器函数内部会包含yield表达式,专门用于生成一个序列。当一个生成器函数被调用时,它会返回一个迭代器。之后就由这个迭代器来控制生成器函数的执行。当生成器函数被调用后,首先会执行到第一个yield表达式处,然后会将生成器函数挂起,将yield生成的表达式的值返回给生成器函数的调用者。当生成器函数被挂起时,它的所有局部状态都会被保存起来,包括当前绑定的局部变量、指令指针、内部栈和异常处理的状态。当调用迭代器的方法时,一般都是调用next()方法,将会恢复生成器函数的执行,并且是从上次被挂起的地方继续执行,直到遇到另外一次yield调用,生成器函数将再次被挂起。
相关文章
- 020.Python生成器和生成器函数
- 编一个函数求n的阶乘;使用for语句和while语句求n的阶乘;关于简单阶乘的求和(C)
- Python——Fibonacci斐波那契数列的函数fib(n) 输出前20项(每项宽度符位置,右对齐),每行输出10个 递归和非递归实现
- python中setup函数的用法_python学习之setUp函数和tearDown函数
- python中函数的定义和详细的使用方法
- legend---十二、js中的js语句和函数和ready函数的关系是什么
- python中lambda函数排序_排序 sorted函数和lambda的组合应用(python3)
- Python中的startswith和endswith函数使用实例
- Python----魔法函数__len__和__contains__的用法
- 判断i能否被3和5整除的python表达式为_下列Python语句的运行结果是 x=True; y=False; z=True; if not x or y: print(1) elif not x ...