第 6 章 循环与可迭代对象
朱雷
“循环”是一个非常有趣的概念。在生活中,循环代表无休止地重复某件事,比如一直播放同一首歌就叫“单曲循环”。当某件事重复太多次以后,人们就很容易感到乏味,所以哪怕再好听的旷世名曲,也没人愿意连续听上一百遍。
虽然人会对循环感到乏味,计算机却丝毫没有这个问题。程序员的主要任务之一,就是利用循环的概念,用极少的指令驱使计算机不知疲倦地完成繁重的计算任务。
试想一下,假如不使用循环,从一个包含一万个数字的列表里找到数字 42 的位置,会是一件多么令人抓狂的任务。但正因为有了循环,我们可以用一个简单的 for 来搞定这类事情——无论列表里的数字是一万个还是十万个。
在 Python 中,我们可以用两种方式编写循环:for 和 while。for 是我们最常用到的循环关键字,它的语法是 for <item> in <iterable>,需要配合一个可迭代对象 iterable 使用:
Python 里的 while 循环和其他编程语言没什么区别。它的语法是 while <expression>,其中 expression 表达式是循环的成立条件,值为假时就中断循环。如果把上面的 for 循环翻译成 while,代码会变长不少:
对比这两段代码,我们可以观察到:对于一些常见的循环任务,使用 for 比 while 要方便得多。因此在日常编码中,for 的出场频率也远比 while 要高得多。
如你所见,Python 的循环语法并不复杂,但这并不代表我们可以很轻松地写出好的循环。要把循环代码写得漂亮,有时关键不在循环结构自身,而在于另一个用来配合循环的主角:可迭代对象。
公开
同步至部落
取消
完成
0/2000
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
![](https://static001.geekbang.org/resource/image/d0/e4/d0880927e2a522a038be2d04bf19dfe4.png)
本文深入介绍了 Python 中的循环与可迭代对象的基础知识,以及如何利用生成器来简化迭代器的实现。通过生动的比喻和清晰的示例,读者可以快速了解 Python 中的两种循环方式:for 循环和 while 循环,并对它们进行了比较和示例演示。此外,文章还介绍了迭代器与可迭代对象的概念,以及内置函数 iter() 和 next() 的用法。读者可以通过示例和解释了解可迭代对象的概念及如何利用可迭代对象编写更优雅的循环代码。特别地,文章详细介绍了生成器的概念和用法,强调了生成器作为一种“懒惰的”可迭代对象的优势,以及如何利用生成器来简化迭代器的实现,从而提升执行效率并降低编码成本。此外,文章还介绍了使用生成器函数修饰可迭代对象、使用 itertools 模块优化循环以及循环语句的 else 关键字等内容,为读者提供了丰富的循环优化技巧。通过本文的阅读,读者可以快速掌握 Python 中循环与可迭代对象的基础知识,为进一步深入学习打下基础。文章还介绍了一些技巧,如巧用 next() 函数和当心已被耗尽的迭代器,帮助读者更好地理解和应用迭代器和生成器的特性。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Python 工匠:案例、技巧与工程实践》
《Python 工匠:案例、技巧与工程实践》
立即购买
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论