本书旨在让你成为优秀的程序员,具体地说,是优秀的Python程序员。通过阅读本书,你将迅速掌握编程 概念,打下坚实的基础,并养成良好的习惯。阅读本书后,你就可以开始学习Python高级技术,并能够更 轻松地掌握其他编程语言。 在本书的第一部分,你将学习编写Python程序时需要熟悉的基本编程概念,你刚接触几乎任何编程语言时 都需要学习这些概念。你将学习各种数据以及在程序中将数据存储到列表和字典中的方式。你将学习如何 创建数据集合以及如何高效地遍历这些集合。你将学习使用while 和if 语句来检查条件,并在条件满足时 执行代码的一部分,而在条件不满足时执行代码的另一部分——这可为自动完成处理提供极大的帮助。 你将学习获取用户输入,让程序能够与用户交互,并在用户没停止输入时保持运行状态。你将探索如何编 写函数来让程序的各个部分可重用,这样你编写执行特定任务的代码后,想使用它多少次都可以。然后, 你将学习使用类来扩展这种概念以实现更复杂的行为,从而让非常简单的程序也能处理各种不同的情形。 你将学习编写妥善处理常见错误的程序。学习这些基本概念后,你就能编写一些简短的程序来解决一些明 确的问题。最后,你将向中级编程迈出第一步,学习如何为代码编写测试,以便在进一步改进程序时不用 担心可能引入bug。第一部分介绍的知识让你能够开发更大、更复杂的项目。 在第二部分,你将利用在第一部分学到的知识来开发三个项目。你可以根据自己的情况,以最合适的顺序 完成这些项目;你也可以选择只完成其中的某些项目。在第一个项目(第12~14章)中,你将创建一个类似 于《太空入侵者》的射击游戏。这个游戏名为《外星人入侵》,它包含多个难度不断增加的等级。完成这 个项目后,你就能够自己动手开发2D游戏了。 第二个项目(第15~17章)介绍数据可视化。数据科学家的目标是通过各种可视化技术来搞懂海量信息。你 将使用通过代码生成的数据集、已经从网络下载下来的数据集以及程序自动下载的数据集。完成这个项目 后,你将能够编写能对大型数据集进行筛选的程序,并以可视化方式将筛选出来的数据呈现出来。 在第三个项目(第18~20章)中,你将创建一个名为“学习笔记”的小型Web应用程序。这个项目能够让用户 将学到的与特定主题相关的概念记录下来。你将能够分别记录不同的主题,还可以让其他人建立账户并开 始记录自己的学习笔记。你还将学习如何部署这个项目,让任何人都能够通过网络访问它,而不管他身处 何方。
为何使用Python 继续使用Python,还是转而使用其他语言——也许是编程领域较新的语言?我每年都会考虑这个问题。可我依然专注于Python,其中的原因很多。Python是一种效率极高的语言:相比于众多其他的语言,使用 Python编写时,程序包含的代码行更少。Python的语法也有助于创建整洁的代码:相比其他语言,使用 Python编写的代码更容易阅读、调试和扩展。大家将Python用于众多方面:编写游戏、创建Web应用程序、解决商业问题以及供各类有趣的公司开发内部工具。Python还在科学领域被大量用于学术研究和应用研究。我依然使用Python的一个最重要的原因是,Python社区有形形色色充满激情的人。对程序员来说,社区非常重要,因为编程绝非孤独的修行。大多数程序员都需要向解决过类似问题的人寻求建议,经验最为丰富的程序员也不例外。需要有人帮助解决问题时,有一个联系紧密、互帮互助的社区至关重要,而对于像你一样将Python作为第一门语言来学习的人而言,Python社区无疑是坚强的后盾。 Python是一门杰出的语言,值得你去学习,咱们现在就开始吧!
第一部分 基础知识本书的第一部分介绍编写 Python 程序所需要熟悉的基本概念,其中很多都适用于所有编程语言,因此它们在你的整个程序员生涯中都很有用。第 1 章介绍在计算机中安装Python,并运行第一个程序——它在屏幕上打印消息“Hello world!”。第 2 章论述如何在变量中存储信息以及如何使用文本和数字。第 3 章和第 4 章介绍列表。使用列表能够在一个变量中存储任意数量的信息,从而高效地处理数据:只需几行代码,你就能够处理数百、数千乃至数百万个值。第 5 章讲解使用 if 语句来编写这样的代码:在特定条件满足时采取一种措施,而在该条件不满足时采取另一种措施。第 6 章演示如何使用 Python 字典,将不同的信息关联起来。与列表一样,你也可以根据需要在字典中存储任意数量的信息。第 7 章讲解如何从用户那里获取输入,以让程序变成交互式的。你还将学习 while 循环,它不断地运行代码块,直到指定的条件不再满足为止。第 8 章介绍编写函数。函数是执行特定任务的被命名的代码块,你可以根据需要随时运行它。第 9 章介绍类,它让你能够模拟实物,如小狗、小猫、人、汽车、火箭等,让你的代码能够表示任何真实或抽象的东西。第 10 章介绍如何使用文件,以及如何处理错误以免程序意外地崩溃。你需要在程序关闭前保存数据,并在程序再次运行时读取它们。你将学习 Python 异常,它们让你能够未雨绸缪,从而让程序妥善地处理错误。第 11 章为代码编写测试,以核实程序是否像你期望的那样工作。这样,扩展程序时,你就不用担心引入新的bug。要想脱离初级程序员的阵容,跻身于中级程序员的行列,测试代码是你必须掌握的基本技能之一。