浅析 python 迭代器与生成器
转载自我自己的 github 博客 ——> 半天钟的博客 要这篇博文有何用? 这篇博文是用于帮助理解 python 可迭代对象、迭代器与生成器的 ,你在阅读后应该能够比较清晰的理解 python 中迭代相关的概念与流程。 这篇博文能够解答: 在 python 中究竟什么是 迭代 ? 什么是 可迭代的对象 ,为什么 python 的序列类型的对象均可迭代? 迭代器 是啥?它和可迭代对象有什么关联? 生成器 又是啥? 生成器和迭代器有什么区别? 迭代的概念简述 循环就是迭代吗? 答:不是,但是迭代与循环有着千丝万缕的联系。 迭代是一个做有限次或者 “无限次” 重复动作的过程 、在这个过程里上一次重复动作的 结束状态 是下一次重复动作的**开始状态。**每一次重复都可以称之为一次迭代。 相比于单纯的循环、迭代有一个 额外的限制条件 —— 必须存在着 记录状态 的记录员,用来保存上一次迭代的结束状态。 下面这个代码说明了循环和迭代的区别,其中模拟的迭代过程中的变量 i 就是记录员: #单纯的循环 while True : print ( 'This is Loop' ) #模拟的迭代过程 i = 0 while True : print ( 'This is iter of No.' + str ( i ) ) i += 1 结果: #单纯的循环 This is Loop This is