目 录
第1章 进入Python 3.x的世界 1
1.1 初识 Python 1
1.1.1 Python起源 2
1.1.2 Python 发展历程 2
1.1.3 Python江湖地位 2
1.2 Python环境搭建 3
1.2.1 在Windows系统中安装Python 4
1.2.2 在Mac OS系统中安装Python 6
1.2.3 在Linux系统中安装Python 7
1.3 开发工具(VSCode)的安装 10
1.4 老规矩——从“Hello World”开始 14
1.5 小结 15
1.6 编程练习 15
第2章 Python基础修炼 16
2.1 开启Python编程 16
2.1.1 交互式编程 17
2.1.2 脚本式编程 17
2.1.3 缩进 20
2.1.4 注释 21
2.2 你不知道的变量 23
2.2.1 变量命名的规则 23
2.2.2 变量使用 24
2.2.3 数据类型 26
2.3 运算符和表达式 27
2.3.1 算术运算符 28
2.3.2 比较运算符 29
2.3.3 赋值运算符 30
2.3.4 逻辑运算符 32
2.3.5 位运算符 32
2.3.6 成员运算符 34
2.3.7 身份运算符 34
2.3.8 运算符优先级 35
2.4 玩转字符串 36
2.4.1 字符串定义 36
2.4.2 字符串取值 37
2.4.3 转义字符 38
2.4.4 字符串常用方法 40
2.5 正则表达式 45
2.5.1 元字符 46
2.5.2 常用的正则表达式 47
2.5.3 re模块 47
2.5.4 贪婪模式和非贪婪模式 49
2.5.5 常用方法 49
2.6 小结 51
2.7 编程练习 51
第3章 Python数据结构 53
3.1 列表 53
3.1.1 定义专属列表 53
3.1.2 访问列表元素 54
3.1.3 删除列表元素 54
3.1.4 更新列表元素 55
3.1.5 分片操作 56
3.1.6 列表常用方法 58
3.2 元组 60
3.2.1 创建元组 60
3.2.2 访问元组 60
3.2.3 修改元组 61
3.2.4 删除元组 61
3.2.5 元组的内置函数 62
3.3 字典 63
3.3.1 定义字典 63
3.3.2 获取字典里的值 64
3.3.3 删除字典元素 64
3.3.4 更新字典里的值 65
3.3.5 字典的常用方法 65
3.4 小结 66
3.5 编程练习 66
第4章 分支和循环 67
4.1 教你指挥计算机:流程控制 67
4.1.1 if分支语句基础语法 68
4.1.2 通过猫和老鼠秒懂if真谛 68
4.1.3 复杂的if分支嵌套 69
4.1.4 多分支的出现 70
4.2 教你指挥计算机:循环语句 71
4.2.1 “早的”循环 71
4.2.2 while循环 72
4.2.3 for循环 74
4.2.4 结束循环break 75
4.2.5 跳出循环continue 75
4.3 小结 76
4.4 编程练习 76
第5章 Python中的函数 77
5.1 初识函数 77
5.1.1 如何定义一个函数 78
5.1.2 函数的使用 78
5.2 函数参数 79
5.2.1 固定参数 80
5.2.2 默认参数 80
5.2.3 关键参数 81
5.2.4 可变参数 82
5.3 函数的返回值 83
5.4 递归函数 84
5.4.1 递归注意事项 85
5.4.2 经典递归案例 87
5.5 匿名函数 87
5.6 函数嵌套 88
5.7 高阶函数 90
5.8 装饰器 90
5.8.1 创建装饰器 91
5.8.2 装饰器语法糖 92
5.9 作用域的问题 92
5.9.1 局部变量 93
5.9.2 全局变量 94
5.10 小结 96
5.11 编程练习 96
第6章 面向对象编程 98
6.1 走进面向对象的世界 98
6.2 认识一下大家族成员 100
6.2.1 类 101
6.2.2 对象 102
6.2.3 属性和方法 103
6.2.4 构造函数 105
6.2.5 私有属性及私有方法 106
6.3 继承 108
6.3.1 继承的实现 109
6.3.2 继承的特点 109
6.3.3 多重继承 110
6.3.4 super 111
6.4 封装 112
6.5 多态 113
6.6 如何设计面向对象 114
6.7 小结 116
6.8 编程练习 116
第7章 Python的模块 117
7.1 模块的概念与使用 117
7.1.1 模块能做什么 118
7.1.2 引用模块 118
7.2 标准库(内置模块) 120
7.2.1 datetime 121
7.2.2 random 122
7.2.3 sys 123
7.2.4 os 123
7.2.5 hashlib 124
7.3 第三方模块 126
7.3.1 xlrd模块 127
7.3.2 Image模块 128
7.3.3 暴力破解加密压缩包 129
7.4 自定义模块 130
7.4.1 如何自定义一个自己的模块 130
7.4.2 发布自定义模块到PyPI 131
7.5 小结 134
7.6 编程练习 134
第8章 文件读写和异常处理 135
8.1 读取文件 135
8.1.1 如何打开文件 136
8.1.2 文件读取三部曲 137
8.1.3 语法糖 139
8.1.4 lrc歌词读取 139
8.2 写入文件 141
8.3 异常处理 143
8.3.1 什么是异常 144
8.3.2 标配的异常结构 144
8.3.3 处理多个异常 145
8.3.4 异常补充点 146
8.3.5 自定义异常 147
8.4 小结 147
8.5 编程练习 148
第9章 操作数据库 149
9.1 数据库介绍 149
9.1.1 认识数据库 149
9.1.2 数据库设计的E-R模型 151
9.2 MySQL基础 152
9.2.1 MySQL安装 153
9.2.2 常用命令 155
9.2.3 可视化工具 157
9.3 Python操作MySQL数据库 160
9.3.1 建立数据库连接 161
9.3.2 创建游标对象 161
9.3.3 插入操作 161
9.3.4 删除操作 162
9.3.5 更新操作 162
9.3.6 查询操作 162
9.4 小结 163
9.5 编程练习 163
第10章 Django架站 164
10.1 Django介绍 164
10.1.1 Django起源 165
10.1.2 理解MVC和MVT 166
10.1.3 安装Django 167
10.2 Django博客项目 168
10.2.1 博客项目功能 168
10.2.2 项目搭建 168
10.2.3 建立模型 171
10.2.4 数据库配置 176
10.2.5 Django自带后台 176
10.2.6 创建视图 181
10.2.7 创建模板 183
10.2.8 查看详情 185
10.2.9 用户登录 187
10.2.10 用户退出 190
10.3 Django扩展 191
10.3.1 错误视图 191
10.3.2 内置过滤器 194
10.3.3 xadmin的应用 195
10.4 小结 196
10.5 编程练习 196
第11章 编写打飞机游戏 198
11.1 初识Pygame 198
11.2 Pygame模块一览 199
11.3 游戏概述 200
11.3.1 运行效果描述 200
11.3.2 功能模块拆分 201
11.4 游戏初始化 201
11.4.1 项目结构搭建 202
11.4.2 初始化窗口并加载背景图片 204
11.4.3 添加背景音乐 205
11.4.4 绘制飞机位置 205
11.5 我方飞机 207
11.5.1 通过方向键控制飞机移动 207
11.5.2 我方子弹运动轨迹 208
11.6 敌方飞机 209
11.6.1 绘制敌方飞机 210
11.6.2 敌方飞机生成器 211
11.7 两军相遇 212
11.7.1 子弹和敌方飞机碰撞 212
11.7.2 敌方飞机和我方飞机碰撞 214
11.8 小结 214
11.9 编程练习 215
第12章 编写Python爬虫 216
12.1 什么是网络爬虫 216
12.1.1 为什么需要爬虫 217
12.1.2 爬虫如何抓取数据 218
12.1.3 爬虫的原理 219
12.1.4 爬虫的协议 220
12.2 urllib模块 222
12.2.1 通过request实现一个简单的页面爬取 222
12.2.2 Fildder安装图解 222
12.2.3 伪装成一个浏览器 223
12.2.4 伪装成百度爬虫 224
12.2.5 设置代理服务器 225
12.2.6 一幅图理解爬虫和反爬虫 227
12.3 爬虫实例 228
12.3.1 实例1:爬取百度贴吧 228
12.3.2 实例2:连接有道翻译 231
12.3.3 实例3:爬取豆瓣电影 233
12.4 小结 237
结束语 238