
本书结构
第一部分(第1~11章)讲解Python的基础知识。你应该按顺序阅读这些章节。我从最简单的数据和代码结构开始,将其结合成更为详细和实际的程序。第二部分(第12~22章)展示如何将Python应用于特定领域,比如Web、数据库、网络等。你可以按照自己喜欢的顺序阅读这些章节。
以下是各章和附录的简要概述,包括你将在其中遇到的一些术语。
第1章 Python初探
计算机程序与你每天看到的用法说明没有什么不同。一些小型的Python程序可以让你一睹这种语言的形式、功能以及现实用途。你将看到如何在交互式解释器(或shell)中或是通过所保存的文本文件运行Python程序。
第2章 数据:类型、值、变量和名称
计算机语言混合了数据和指令。计算机按照不同的方式存储和处理不同类型的数据。有些数据的值可以改变(可变),有些则不可以改变(不可变)。在Python程序中,数据既可以是字面量(比如像78这样的数字和像"waffle"这样的文本字符串),也可以用具名变量来表示。不同于其他很多语言,Python把变量当作名称来对待,由此产生了一些重要结果。
第3章 数字
这一章展示Python最简单的数据类型:布尔值、整数和浮点数。你还会学到基础数学运算,其中的示例像使用计算器一样使用Python的交互式解释器。
第4章 if语句
接下来几章将在Python的名词(数据类型)和动词(程序结构)之间来回切换。Python代码通常一次运行一行,从程序的开始到结尾。if代码结构允许你根据一些数据比较结果运行不同的代码行。
第5章 字符串
返回到名词,来到文本字符串的世界。这一章学习如何创建、组合、修改、检索和打印字符串。
第6章 while循环和for循环
再返回到动词,学习两种循环方式:while和for。这一章介绍Python的核心概念:迭代器。
第7章 元组和列表
在这一章中,你将看到Python内建的高级数据结构:元组和列表。两者都是值的序列,就像乐高积木一样,用于构建更复杂的数据结构。你会学习使用迭代器对其进行遍历,并使用推导式快速构建列表。
第8章 字典和集合
字典和集合允许你通过键而不是位置保存数据,用起来非常方便,这一定会成为你最爱的Python特性。
第9章 函数
这一章会将前几章学到的数据和代码结构组合起来进行比较、选择或重复。你会学习将代码打包进函数并使用异常处理错误。
第10章 对象和类
对象这个词的含义有点儿模糊,但在包括Python在内的许多计算机语言中很重要。如果你在其他语言中从事过面向对象编程,那么在Python中会更轻松一些。这一章讲解如何使用对象和类,以及什么时候使用其他功能来替代。
第11章 模块、包和赠品
这一章演示如何扩展到更大的代码结构:模块、包和程序。你会看到在哪里放置代码和数据,如何读入和输出数据,处理选项,浏览Python标准库,以及一些额外内容。
第12章 数据处理
学习像专家一样管理数据。这一章介绍文本和二进制数据、Unicode字符以及正则表达式匹配。还会介绍数据类型bytes和bytearray,它们是包含原始二进制值(而非文本字符)的字符串的对应项。
第13章 日历和时钟
日期和时间处理起来很棘手。这一章展示一些常见问题及其对策。
第14章 文件和目录
文件和目录是基本的数据存储方式。这一章展示如何创建和使用它们。
第15章 进程和并发
这是第一个硬核系统章节。这一章的主题是如何使用程序、进程以及线程同时做多件事情(并发)。这一章也会介绍Python新近加入的async,附录C对此做了更详细的讲解。
第16章 持久性存储
可以通过文件系统中的基本平面文件和目录来存储和检索数据。常见的文本格式(CSV、JSON和XML)赋予了数据某种结构。随着数据量越来越大,结构越来越复杂,数据库(传统的关系数据库和一些较新的NoSQL数据存储)服务应运而生。
第17章 网络
使用服务、协议、API在网络中发送代码和数据。这一章的示例从低层的TCP 套接字到消息库和队列系统,再到云部署。
第18章 Web
本书用专门的一章来介绍Web,其中包括客户端、服务器、API和框架。你将学习如何爬取网站,以及使用request参数和模板搭建真实的站点。
第19章 成为Python主义者
这一章为Python开发人员提供了一些技巧——使用pip和virtualenv安装包,使用IDE、测试、调试、日志记录、源代码控制和文档。除此之外,还介绍了如何查找和安装实用的第三方包、打包自己的代码以供重用以及从何处获取更多的信息。
第20章 Python的艺术
在艺术领域中,人们使用Python从事着一些很酷的事情:图形、音乐、动画和游戏。
第21章 工作中的Python
Python也有特定的商业应用:数据可视化(绘图、图形等)、安全和监管。
第22章 Python的科学
在过去几年间,Python已经成为科学领域的首选语言:数学和统计学、物理学、生物学和医学。此外,Python在数据科学和机器学习方面也具有显著优势。这一章涵盖了NumPy、SciPy和Pandas。
附录A 写给初级程序员的计算机软硬件知识
如果你是十足的编程新手,那么可以通过附录A了解计算机硬件和软件的工作原理。除此之外,该附录还介绍了你会不断碰到的一些术语。
附录B 安装Python 3
如果你还未安装Python 3,那么可以通过附录B了解安装方法,无论你使用的是Windows、macOS、Linux,还是其他Unix变体。
附录C 截然不同的async
Python在不同的发行版中添加了异步特性,这一特性不太容易理解。当其在各章出现的时候,我都会简单提及,该附录对其展开了详细讨论。
附录D 习题答案
该附录给出了章后习题的答案。在自己动手尝试之前,千万不要偷看。
附录E 速查表
该附录包含一些速查表,可作快速参考之用。