分析一下流程:
- 调用生成器函数时只返回一个 generator 对象 f,函数并没有执行;
- 通过 for 循环生成器才开始执行,执行到 #1 yield prev 处,返回 yield 处的参数 prev,此时就打印出了1;
- 继续 for 循环,生成器函数将在上一次停止的语句处继续执行,遇到 #2 yield curr 返回,此时又打印出了1;
- 如此反复,直到i大于20跳出循环结束调用 。
迭代
一句话总结迭代:按照一定的顺序逐个访问容器中每一个元素的过程;也就是我们折腾斐波那契序列的过程
限于篇幅,生成器就介绍到这里,但生成器的威力远不止此,下一篇将通过生成器和 yield 引出协程和异步IO等 。
【Python 迭代器与生成器】
推荐阅读
- python中的线程与线程池
- 不愧大屏游戏神器 tcl电视怎么投屏
- 你会设置360安全浏览器吗 360浏览器兼容模式怎么设置
- 路由器如何设置无线 怎么修改wifi密码
- 央视综合测评净水器十大排名
- 水压小能用多少升的热水器 热水器水压小怎么增压
- 发型|【口红颜色可视化】-选择口红的神器
- 健身房都有那些健身器材 健身器材有哪些
- Python六张表 搞定 Xpath 语法
- Python 的加密库