本书以 “10 分钟集训” 为核心设计,旨在通过 50 个针对性练习,帮助读者高效掌握 Python。从数值类型、字符串等基础知识,到迭代器、生成器等进阶知识,本书将 Python 核心知识拆解为 10 章。为跳出传统教学模式,聚焦实战,本书设计的每个练习都由问题、解题思路、解答、解答视频、扩展练习等五部分组成,同时配套了代码资源。注意,扩展练习旨在帮助读者比较不同的解决方案、锻炼思维、内化知识,补充说明则指出了Python编程的常见问题,旨在帮助读者规避常见错误。零基础或基础薄弱的Python 新用户与独立开发者,通过对本书练习的短时集训即可提升代码实战能力,在编程技能上实现质的飞跃。
10分钟一个练习,Python轻松拿下!
Reuven是一名全职Python培训师。每年,他都会在美国、欧洲的部分国家、以色列、印度和中国的公司授课,也会通过他的在线课程向世界各地的人们授课。Reuven刚从麻省理工学院计算机科学系毕业之际,就创建了世界上最早的100个网站之一。他于1995年开设了勒纳咨询公司,并从1996年开始提供培训服务。
苏丹:网上id一般为su27。2009年毕业于北京师范大学数学系,主要从事后端编程,也曾从事前端与客户端开发工作。目前为豆瓣用户产品后端负责人,日常跟Python打交道较多。著有科幻小说《中间人》,译有《深入理解Flask》《Python一行流》等书。
前 言
在许多方面,学习编程语言都像学习一门(人类的)外语。你可以完成课程学习,理解阅读材料,甚至在期末考试中取得好成绩,但是到了实际使用这门语言的时候,你会发现自己很慌张,不确定该用什么语法,找不到最合适的表达方式——更别提自己根本听不懂那些母语人士在说什么了。
这就是练习的意义所在。练习外语,会让你讲得越来越流畅和自信,使你能够参与到更有深度、更有趣的对话中去。练习Python会让你更快、更容易地解决问题,同时能写出可读性更强、可维护性更佳的代码。这种进步是随着时间的推移逐步发生的,因为你总是在解决新的、各种不同场景下的问题时使用这门语言,所以你的进步往往不容易被看出来。然而,当你回顾几个月前的自己是怎样使用这门语言的,差别就很显著了。
这本书并不是要教你如何学Python,而是让你熟练使用Python,为此提供必需的练习。在完成本书的练习后——而不是跳过问题偷看答案——你将写出可读性更强、更符合语言习惯、可维护性更高的Python代码。
Python Workout是我在面向企业的Python培训班上跟学生沟通、交流的成果。每次课程一结束,他们总是会问,在哪里能找到更多有助于进一步提升技能的练习。本书大量借鉴了我为他们设计的动手实验,以及我在课上和课后跟他们进行的讨论。
这些练习旨在帮助你内化Python的一些核心思想:核心数据结构、函数、解析、面向对象编程,以及迭代器。这些课题看上去可能不难,或许对一本习题书来说甚至过于简单。但是一切Python程序,从最庞大的应用到最小巧的脚本,都是基于这些基础构件的。充分了解它们,是成为一名熟练的Python开发工程师的关键。我经常说,忽视这些基础构件,转而去探究更复杂的课题,就好比一名化学系的学生跳过学习化学元素,转而去研究所谓“真正”的化学制品。
作为一名Python讲师,同时作为一名学生,我的亲身经历可以证实练习的力量。近年来,我一直在学习中文,很大程度上是由于我每隔几个月就要去中国教授Python课程。我上的每节中文课,做的每道习题,对我提升中文口语流利程度的帮助似乎微乎其微。但是,每当我在离开几个月后再次回到中国时,我就会发现这些练习确实有帮助,让我能更轻松地与当地人交流。
我的中文仍然远没达到流利的水平,但我在不断进步。回顾过去,我对发现自己已经走了这么远感到很开心。我希望Python Workout能为你做同样的事情,让你每天都能增进对Python的理解、提升使用Python的熟练程度。