第1章 初识Python 1
1.1 Python的基本概念 1
1.1.1 编译型语言与解释型语言 1
1.1.2 Python的发展史 3
1.1.3 Python的特点及应用领域 4
1.2 Python语言环境的安装 7
1.2.1 在Windows平台上安装Python语言环境 8
1.2.2 在Linux平台上安装Python语言环境 10
1.3 第一个Python程序:HelloWorld 13
1.3.1 中文编码 14
1.3.2 单行注释 14
1.3.3 多行注释 15
1.3.4 书写规范 15
1.3.5 输入和输出 16
1.4 IDLE环境 18
1.4.1 启动IDLE 18
1.4.2 创建Python脚本 18
1.4.3 常用的编辑功能 20
1.5 本章小结 21
1.6 课后习题 21
第2章 Python的基础语法 23
2.1 变量 23
2.1.1 定义一个变量 23
2.1.2 同时定义多个变量 24
2.2 数据类型 25
2.2.1 Number 25
2.2.2 String 26
2.2.3 List 28
2.2.4 Tuple 30
2.2.5 Set 31
2.2.6 Dictionary 32
2.3 运算符 33
2.3.1 占位运算符 33
2.3.2 算术运算符 34
2.3.3 赋值运算符 35
2.3.4 比较运算符 36
2.3.5 逻辑运算符 37
2.3.6 位运算符 37
2.3.7 身份运算符 39
2.3.8 成员运算符 40
2.3.9 序列运算符 41
2.3.10 运算符优先级 41
2.4 条件语句 42
2.4.1 if、elif、else 44
2.4.2 pass 45
2.5 循环语句 46
2.5.1 for循环 47
2.5.2 while循环 48
2.5.3 索引 49
2.5.4 break 50
2.5.5 continue 51
2.5.6 else 51
2.6 本章小结 52
2.7 课后习题 52
第3章 函数 57
3.1 函数的定义与调用 57
3.2 参数列表与返回值 58
3.2.1 形参 59
3.2.2 实参 59
3.2.3 默认参数 60
3.2.4 关键字参数 61
3.2.5 不定长参数 62
3.2.6 拆分参数列表 64
3.2.7 返回值 65
3.3 模块 66
3.3.1 import 67
3.3.2 from import 70
3.3.3 包 71
3.3.4 猴子补丁 72
3.3.5 第三方模块的获取与安装 73
3.4 变量的作用域 73
3.4.1 局部变量 74
3.4.2 全局变量 74
3.4.3 global关键字 75
3.4.4 nonlocal关键字 76
3.5 高级应用 77
3.5.1 递归函数 77
3.5.2 高阶函数 78
3.5.3 lambda函数 78
3.5.4 闭包 79
3.5.5 装饰器 80
3.6 本章小结 83
3.7 课后习题 83
第4章 面向对象 87
4.1 类与对象 87
4.1.1 类的定义 87
4.1.2 创建实例 88
4.1.3 类属性定义及其访问 89
4.1.4 类中普通方法定义及调用 91
4.1.5 私有属性 92
4.1.6 构造方法 93
4.1.7 析构方法 95
4.1.8 常用内置方法 96
4.2 继承与多态 98
4.2.1 什么是继承 98
4.2.2 如何继承父类 99
4.2.3 方法重写 100
4.2.4 super方法 101
4.3 高级应用 103
4.3.1 内置函数isinstance、issubclass和type 103
4.3.2 类方法 104
4.3.3 静态方法 104
4.3.4 动态扩展类与实例 105
4.3.5 _slots_ 106
4.3.6 @property 107
4.3.7 元类 108
4.3.8 单例模式 109
4.3.9 鸭子类型 111
4.4 本章小结 112
4.5 课后习题 112
第5章 序列、集合和字典 116
5.1 可变类型与不可变类型 116
5.2 列表 117
5.2.1 创建列表 117
5.2.2 拼接列表 118
5.2.3 复制列表元素 119
5.2.4 查找列表元素 120
5.2.5 插入列表元素 121
5.2.6 删除列表元素 121
5.2.7 获取列表中的最大元素 122
5.2.8 获取列表中的最小元素 122
5.2.9 统计元素出现的次数 122
5.2.10 计算列表长度 123
5.2.11 列表中元素排序 123
5.3 元组 124
5.3.1 创建元组 125
5.3.2 创建具有单个元素的元组 125
5.3.3 拼接元组 126
5.3.4 获取元组中的最大元素 126
5.3.5 获取元组中的最小元素 126
5.3.6 元组的不变性 126
5.4 集合 127
5.4.1 创建集合 127
5.4.2 元素唯一性 127
5.4.3 插入集合元素 127
5.4.4 交集 128
5.4.5 并集 128
5.4.6 差集 129
5.4.7 对称差集 129
5.4.8 子集 129
5.4.9 父集 130
5.5 字典 130
5.5.1 创建字典 130
5.5.2 初始化字典中的元素 130
5.5.3 修改/插入字典元素 131
5.5.4 删除字典中的元素 132
5.5.5 计算字典中元素的个数 133
5.5.6 清除字典中的所有元素 133
5.5.7 判断字典中是否存在键 133
5.5.8 拼接两个字典 134
5.5.9 获取字典中键的集合 135
5.5.10 获取字典中值的集合 135
5.5.11 获取字典中的元素数组 135
5.5.12 浅拷贝 136
5.5.13 深拷贝 137
5.6 高级应用 138
5.6.1 切片 138
5.6.2 列表生成表达式 138
5.6.3 生成器 139
5.6.4 迭代器 140
5.7 本章小结 142
5.8 课后习题 142
第6章 字符串 146
6.1 字符串常用操作 146
6.1.1 创建字符串 146
6.1.2 单引号、双引号、三引号之间的区别 146
6.1.3 字符串比较 148
6.1.4 字符串切割 149
6.1.5 字符串检索 150
6.1.6 替换字符串中的字符 150
6.1.7 去除字符串空格 151
6.1.8 复制字符串 152
6.1.9 连接字符串 152
6.1.10 获取字符串长度 152
6.1.11 大小写转换 153
6.1.12 测试字符串的组成部分 153
6.2 格式化方法 154
6.2.1 占位符 154
6.2.2 format方法 154
6.3 正则表达式 155
6.3.1 基础语法 155
6.3.2 re模块的使用 157
6.4 本章小结 165
6.5 课后习题 165
第7章 I/O编程与异常 169
7.1 os模块的使用 169
7.1.1 查看系统平台 169
7.1.2 获取当前系统平台路径分隔符 169
7.1.3 获取当前工作目录 170
7.1.4 获取环境变量值 170
7.1.5 获取文件和目录列表 170
7.1.6 创建目录 171
7.1.7 删除目录 171
7.1.8 获取指定相对路径的绝对路径 172
7.1.9 获取指定路径的目录名或文件名 172
7.1.10 判断指定路径目标是否为文件 173
7.1.11 判断指定路径目标是否为目录 173
7.1.12 判断指定路径是否存在 174
7.1.13 判断指定路径是否为绝对路径 174
7.1.14 分离文件扩展名 174
7.1.15 路径连接 175
7.1.16 获取文件名 175
7.1.17 获取文件路径 175
7.2 文件读写 176
7.2.1 open函数 176
7.2.2 with语句 177
7.2.3 文件对象方法 177
7.3 数据的处理 180
7.3.1 一维数据 180
7.3.2 二维数据 181
7.3.3 使用CSV格式操作一维、二维数据 181
7.4 异常的定义和分类 183
7.4.1 异常的定义 183
7.4.2 异常的分类 183
7.5 异常处理 184
7.5.1 try except 185
7.5.2 else 185
7.5.3 finally 186
7.5.4 raise 187
7.5.5 断言 187
7.5.6 自定义异常 188
7.6 本章小结 188
7.7 课后习题 188
第8章 多线程与多进程 191
8.1 线程与进程的定义 191
8.1.1 线程 191
8.1.2 进程 191
8.2 多线程 192
8.2.1 多线程的创建和启动 192
8.2.2 多线程的合并 195
8.2.3 守护线程 196
8.2.4 多线程的同步 197
8.3 多进程 206
8.3.1 创建多进程 206
8.3.2 多进程间的通信 207
8.3.3 多进程间的同步 207
8.3.4 Pool对象 208
8.3.5 Manager对象 210
8.3.6 Listener与Client对象 210
8.4 本章小结 211
8.5 课后习题 212
第9章 综合实例 213
9.1 图书管理系统 213
9.1.1 实例问题描述 213
9.1.2 服务器的搭建 213
9.1.3 定义图书类 214
9.1.4 注册图书信息 214
9.1.5 查询图书信息 215
9.1.6 删除图书信息 216
9.1.7 系统的远程交互过程 217
9.1.8 系统的完整代码 218
9.2 图形化界面计算器 221
9.2.1 实例问题描述 221
9.2.2 Python标准GUI库Tkinter 221
9.2.3 图形界面计算器的完整代码 222
9.3 电影推荐模型 225
9.3.1 基于用户相似度的推荐算法UserCF 225
9.3.2 基于物品相似度的推荐算法ItemCF 226
9.3.3 算法实现 226
9.3.4 实验过程及结果 234
9.4 本章小结 234
第10章 Python常用库 235
10.1 Python标准库 235
10.1.1 turtle模块 235
10.1.2 random模块 237
10.2 常用的Python内置函数 238
10.2.1 数学内置函数 238
10.2.2 数据类型转换 239
10.2.3 序列操作 242
10.2.4 对象操作 243
10.2.5 反射操作 245
10.2.6 变量操作 247
10.2.7 编译执行 247
10.3 第三方库 248
10.3.1 安装第三方库 248
10.3.2 PyInstaller 248
10.3.3 jieba 250
10.3.4 Scrapy 251
10.3.5 Django 252
10.3.6 NumPy 255
10.3.7 Pandas 261
10.3.8 Matplotlib 261
10.3.9 Pygame 264
10.4 本章小结 264
参考文献 265