第1章 程序设计所需要的基础知识 1
1-1 什么是程序设计语言 2
1-2 程序设计的重要性 4
1-3 最受欢迎的程序设计语言 5
1-4 学习程序设计需要知道的逻辑概念 6
1-5 本书的结构及内容说明 9
第2章 快速了解Python程序设计语言 11
2-1 Python简介 12
2-1-1 Python的历史沿革 12
2-1-2 深受欢迎的Python程序设计语言 12
2-1-3 Python程序设计基本元素 13
2-1-4 Python程序易用性示范 17
2-2 学习Python的重要性 19
2-3 Python 2和Python 3的差异 20
2-4 Python的应用领域 21
2-5 习题 22
第3章 Python程序设计环境的安装与设置 23
3-1 马上使用Python编写程序 24
3-1-1 Windows用户 24
3-1-2 Mac OS及Linux用户 24
3-1-3 在交互式界面中测试你的Python 25
3-2 安装Python 3.x窗口环境 27
3-2-1 Windows的IDLE窗口环境 27
3-2-2 Microsoft Python Tools for Visual Studio 32
3-2-3 Mac OS的IDLE窗口环境 34
3-3 简单且易上手的iPython Notebook以及jupyter 38
3-3-1 安装jupyter 38
3-3-2 在命令提示符中执行iPython 40
3-3-3 执行浏览器版本的iPython Notebook 42
3-4 程序代码编辑器的介绍 46
3-4-1 Notepad++的安装与应用 46
3-4-2 TextWrangler的安装与应用 50
3-5 在Linux虚拟机中运行Python 52
3-5-1 安装VMWare Workstation Player 52
3-5-2 创建Ubuntu 14 Workstation虚拟机 54
3-5-3 在Ubuntu 16 Workstation中运行Python 60
3-6 习题 62
第4章 Python软件包管理与在线资源 63
4-1 Python软件包管理工具 64
4-1-1 easy_install的安装与使用 64
4-1-2 pip安装与使用 65
4-2 Python虚拟环境的设置 66
4-2-1 在Mac OS中安装Virtualenv 66
4-2-2 在Windows中安装Virtualenv 67
4-3 高级软件包安装实践 68
4-3-1 Anaconda软件包介绍 68
4-3-2 在Windows中安装Anaconda、NumPy以及Matplotlib 69
4-3-3 在Mac OS中安装Anaconda、NumPy以及Matplotlib 72
4-3-4 使用Matplotlib绘制精美数学图形 75
4-4 Python的在线资源与支持 77
4-4-1 PyPI网站介绍 77
4-4-2 在PyPI中寻找可以用来产生数独题目的软件包 79
4-4-3 运用找到的软件包设计程序 81
4-5 习题 81
第5章 开始设计Python程序 82
5-1 jupyter的介绍与使用 83
5-1-1 iPython运行环境的介绍 83
5-1-2 Python 2中文编码的设置 84
5-1-3 iPython Notebook的介绍与使用 86
5-2 程序的构想与实现 89
5-2-1 理清问题的需求 89
5-2-2 定义要存储的数据及其相关类型 90
5-2-3 设计算法与绘制流程图 91
5-2-4 动手编写程序 92
5-2-5 简易调试方法 95
5-3 猜数字游戏 95
5-3-1 问题需求 95
5-3-2 定义要存储的数据及其相关的类型 95
5-3-3 设计算法与绘制流程图 96
5-3-4 完成程序 97
5-4 习题 98
第6章 Python程序设计语言速览 99
6-1 常数、变量和数据类型 100
6-1-1 常数和变量的差异 100
6-1-2 变量的命名原则 102
6-1-3 程序设计语言的保留字 103
6-1-4 基本数据类型 103
6-2 Python表达式 106
6-2-1 算术表达式 106
6-2-2 关系表达式 107
6-2-3 逻辑表达式 108
6-3 列表list、元组tuple、字典dict与集合set类型 109
6-3-1 list列表与tuple元组 109
6-3-2 list的操作应用 111
6-3-3 dict字典 113
6-3-4 set集合 115
6-3-5 查看两个变量是否为同一个内存地址 115
6-4 内建函数和自定义函数 117
6-4-1 内建函数 117
6-4-2 自定义函数 119
6-4-3 import与自定义模块 122
6-5 单词出现频率的统计程序 123
6-6 习题 124
第7章 程序控制流程 125
7-1 判断语句的应用 126
7-1-1 if/elif/else 126
7-1-2 嵌套if/elif/else 127
7-1-3 单行的if/else语句 128
7-2 循环语句 128
7-2-1 基本循环语句 128
7-2-2 嵌套循环 130
7-2-3 break和continue的运用 131
7-2-4 迭代器 132
7-3 例外处理 134
7-3-1 例外处理的基本概念 134
7-3-2 try/except 135
7-3-3 处理不同的例外种类 136
7-4 程序流程控制的应用 137
7-5 习题 142
第8章 文件、数据文件与数据库的操作 143
8-1 文件与目录的操作 144
8-1-1 os.path 144
8-1-2 glob 145
8-1-3 os.walk 146
8-1-4 os.system和shutil 148
8-2 数据文件的操作 149
8-2-1 文本文件的读取与写入 149
8-2-2 文本文件的应用 154
8-2-3 读取JSON格式的数据 158
8-3 Python与数据库 161
8-3-1 安装Firefox的SQLite Manager附加组件 162
8-3-2 创建简易数据库 164
8-3-3 Python存取数据库的方法 167
8-4 数据库应用程序 168
8-5 习题 173
第9章 Python提取网站数据——基础篇 174
9-1 因特网程序设计基础 175
9-1-1 因特网与URL 175
9-1-2 解析网址 178
9-1-3 提取网页数据 182
9-1-4 使用正则表达式提取网页内的电子邮件账号 183
9-2 网页分析与应用 186
9-2-1 HTML网页格式简介 186
9-2-2 安装BeautifulSoup 190
9-2-3 使用BeautifulSoup提取信息 192
9-2-4 进一步分析网页的内容 195
9-3 网络应用程序 198
9-3-1 将数据存储为文件 198
9-3-2 以网页的形式整理数据 200
9-3-3 在本地建立网页应用 203
9-4 习题 205
第10章 Python网页数据提取的实践 206
10-1 把网页数据存储到数据库中 207
10-1-1 网页数据的运用模式 207
10-1-2 把数据存储到SQLite 208
10-1-3 把数据导入到网络MySQL数据库中 213
10-1-4 编写本地程序读取网络MySQL数据库中的数据 217
10-1-5 使用PHP建立信息提供网站 219
10-2 自动提取数据 221
10-2-1 检测网页内容是否曾经更新 222
10-2-2 Windows自动化设置 226
10-2-3 Mac OS自动化设置 230
10-3 通过Python操作浏览器 230
10-3-1 安装Selenium 231
10-3-2 使用Selenium操作Firefox 233
10-3-3 通过Selenium读取网页信息 235
10-3-4 登录会员网站的方法 237
10-4 习题 240
第11章 Firebase在线实时数据库操作实践 241
11-1 Firebase数据库简介 242
11-1-1 NoSQL数据库概念 242
11-1-2 注册Firebase账号 242
11-1-3 连接Firebase和Python 245
11-2 Python存取Firebase数据库的实例 247
11-2-1 Firebase网络数据库的操作 247
11-2-2 使用Python写入Firebase数据库 249
11-2-3 使用Python读取Firebase数据库 252
11-2-4 整合范例 254
11-3 网页连接Firebase数据库 258
11-3-1 Firebase Hosting免费主机空间的设置 258
11-3-2 使用JavaScript读取Firebase数据库 261
11-3-3 Firebase网页设计 262
11-4 Firebase数据库的安全验证 265
11-4-1 Firebase安全性的设置 265
11-4-2 Email/Password机制 266
11-4-3 Python端的设置 268
11-4-4 将具有用户验证功能的数据写入程序 269
11-5 习题 271
第12章 Python应用实例 272
12-1 Facebook Graph API的介绍与使用 273
12-1-1 安装facebook-sdk 273
12-1-2 Facebook Graph简介 273
12-1-3 Python程序存取Facebook设置 279
12-1-4 通过Python“发表”文章 281
12-1-5 使用程序帮忙“点赞” 283
12-1-6 下载在Facebook中的照片 283
12-2 照片文件的管理 285
12-2-1 照片文件的分析 285
12-2-2 找出重复的照片文件 287
12-2-3 将照片文件重新编号 290
12-3 找出网络中最常被使用的中文词 291
12-3-1 搜集新闻文章 291
12-3-2 安装中文分词模块jieba 292
12-3-3 找出文章中最常被使用的词汇 292
12-4 习题 294
第13章 Python绘图与图像处理 295
13-1 Matplotlib的安装与使用 296
13-1-1 Matplotlib介绍 296
13-1-2 使用Matplotlib画图 297
13-1-3 统计图的绘制 300
13-1-4 数学函数图形的绘制 306
13-2 pillow的安装与使用 309
13-2-1 pillow简介 310
13-2-2 读取图像文件的信息 310
13-2-3 简易图像文件处理 311
13-3 批量处理图像文件 314
13-3-1 为自己的照片加上专属标志以及批量调整照片尺寸 314
13-3-2 中文字体的处理与应用 316
13-3-3 为图像文件加入水印功能 319
13-4 习题 321
第14章 用Python打造特色网站 322
14-1 使用Python编写一个网站程序 323
14-1-1 网站原理 323
14-1-2 网站程序的输入与输出 324
14-1-3 使用Python编写的网站框架 325
14-2 Django简介 328
14-2-1 下载与安装Django 328
14-2-2 Django目录及重要配置文件解说 330
14-2-3 前端与后端的搭配 332
14-2-4 建立你的第一个Django网站 333
14-3 认识Django Framework的架构 334
14-3-1 Django的MTV架构 334
14-3-2 URL的对应方法详解 335
14-3-3 模板的使用 336
14-3-4 使用静态文件夹存取文件 339
14-4 Django与数据库 340
14-4-1 在Django中使用数据库 341
14-4-2 建立模型 342
14-4-3 admin后台管理 343
14-4-4 读取数据库中的数据 345
14-4-5 短网址转址网站模板的内容 347
14-5 习题 350
第15章 程序设计所需要的基础知识 351
15-1 网站的测试与调整 352
15-1-1 上线前的前置工作 352
15-1-2 网站的部署策略 353
15-1-3 网址的购买和选用 353
15-2 网站开发环境的部署 354
15-2-1 利用ngrok随时连线你的网站 354
15-2-2 申请Cloud9 IDE账号 356
15-2-3 建立Cloud9开发环境 357
15-2-4 测试与执行Django网站 361
15-3 云虚拟机部署方法 365
15-3-1 DigitalOcean简介 365
15-3-2 创建Ubuntu虚拟机 369
15-3-3 安装、设置Apache服务器和Django Framework 373
15-3-4 上传文件和网站上线 374
15-4 习题 378
第16章 提升Python能力的下一步 379
16-1 程序代码的版本控制 380
16-1-1 Git简介 380
16-1-2 Git实践操作 382
16-1-3 BitBucket的申请使用 387
16-1-4 整合BitBucket和Cloud9 390
16-2 云APP主机的部署 392
16-2-1 Heroku简介 392
16-2-2 创建Heroku账号 393
16-2-3 整合Cloud9和Heroku 395
16-2-4 在Heroku上部署Django网站 396
16-3 提升学习的下一步 402