图书前言

前  言

Python 语言自诞生以来很长一段时间内并不是主流的编程语言。虽然在一些领域得到了应用,例如Linux 系统管理、Web 开发,但是一直被C/C++、Java 等热门语言的光辉所掩盖。一直到2010 年前后,由于数据科学的发展和Web 应用快速开发技术的需求,Python 才得到较多的关注。人们发现,Python 语言灵活的特征使其非常适用于数据分析与处理。一度,Python 与R 被视为数据分析的两大未来语言,但现在看来Python 已经胜出。特别是机器学习、深度学习近年来的迅猛发展,使得Python 已经成为相关领域研究人员的首选语言。

Python 在Web 开发上的潜力也不容小觑,它非常容易上手,高度动态的语言特性使其不但具有相当高的开发效率,而且能够轻松实现静态语言需要相当大的工作量才能够实现的复杂功能。它对异步编程技术的良好支持又使得它在处理大规模并发请求时游刃有余。再加上丰富、便捷的第三方工具库以及开源的本质特征,使得Python 语言成为一门频频上榜的热门编程语言。

学习Python 的诀窍

既然Python 如此有用、如此热门,那么如何学习它呢?编程是实践性非常强的一门技术,这就决定了学习编程必须动手实践,这是与很多理论性学科的重要区别。大多数时候,程序的运行原理用文字描述复杂冗长而且不易理解,但是一旦动手实践、分析代码,就能够快速理解背后的运行原理。实践为学习编程带来的另一个好处是成就感,成功地运行一个程序所能获得的快感会让人欲罢不能。如果学习者能够找到这种感觉,那么他很快就会成为一名真正的程序员了!

不过,要想成为真正的编程高手,在代码编写实践中还要具有一丝不苟、认真细致、精益求精的科学精神,以及耐心、恒心和不怕困难的决心,同时还要保持丰富的想象力和强烈的求知欲!

关于本书

本书内容的重要特征之一就是实践性强,主要通过大量的代码、实例来介绍语言的语法、功能特征。本书并不试图对代码进行逐行解释,而是仅对难点、要点进行介绍,因为阅读代码往往比阅读文字更加容易。

本书的另一个重要特征就是不但具有相当的广度而且具有一定的深度。从广度上来说,既有入门的编程基础内容,又有中高级进阶特性的介绍;既有数据分析与机器学习的应用,又包含了并发编程和Web 编程技术的介绍。从深度上来说,对于每部分内容,并不仅仅做泛泛的介绍,而是通过尽可能简单的例子厘清技术的来龙去脉。以期读者能够在基本不具备编程知识的条件下,能够对Python 和计算机编程具有较深入和全面的认知。

本书主要内容可分为两大部分。第一部分为入门部分,包括第1~7 章,其中第1~6 章为Python 语言基础,第7 章是关于程序的调试和测试的内容。初学者仅关注这部分内容的部分基础章节即可。第二部分为提高部分,包括第8~12 章,分别介绍了数据处理与分析基础(第8 章)、性能优化技术(第9 章),以及网络和Web 编程(第10~12 章)。其中,网络和Web 编程部分系统介绍了从网络通信到Web 开发技术多个层面的技术细节和实现原理,并结合网络并发处理介绍了多进程、多线程、异步编程等知识。

本书的部分章节内容或思考与练习题标以星号(*),在初次阅读时可以暂时跳过,对其他部分内容的阅读不会造成影响。

代码约定

    本书中的代码或示例主要包括3 种类型:命令行终端代码、Python 交互式环境代码及脚本代码。

命令行终端代码在提示符“$”后输入,例如:

$ pip install numpy

表示在命令行终端执行pip install numpy 命令。不同操作系统或环境下终端提示符有所不同,但本文中的所有终端代码都在Windows、macOS 和Linux 系统中经过测试,能够正确执行。

    Python 交互式环境中的输入提示符为“>>>”,例如:

>>> print("Hello , Python!")

Hello Python!

表示在Python 交互式环境中输入代码print("Hello, Python!") 后执行,并将运行结果“Hello Python!”显示在交互式环境之中。读者也可以选择IPython 交互式环境,其输入提示符有所不同。

较长的代码片段不显示任何输入提示符,它们需要保存为扩展名为“.py”的脚本文件,在终端或者IDE 环境中执行。自第4 章开始,大多数代码以示例的方式给出,例如“【例X-Y 】示例标题”表示第X 章的第Y 个示例。部分示例代码需要作为模块在其他脚本中调用。为了保证程序能够正确执行,它们需要被保存为指定的脚本文件名(通常在示例代码的首行注释中给出)。

本书中的所有示例代码均可在清华大学出版社官网下载。

致谢

本书的出版得到了上海理工大学课程思政领航课程项目的资助,感谢上海理工大学管理学院张峥副院长和束义明老师对本书出版的大力支持。感谢清华大学出版社袁勤勇主任和其他工作人员在本书出版过程中的辛勤工作。感谢刘津女士对本书文字和代码认真细致的校对,祝她一切顺利!最后要感谢我的妻子和两个女儿,感谢她们带给我的爱和欢乐,本书的撰写和出版也离不开她们的支持。

  作  者      

2021年5月