第1章 解读Python世界 1
1.1 什么是Python 1
1.2 Python的由来 2
1.3 Python的版本区别 3
1.4 Python的应用 3
1.5 Python的种类 4
第2章 揭开Python程序的面纱 5
2.1 计算机语言 5
2.1.1 什么是计算机语言 5
2.1.2 计算机语言的发展 5
2.1.3 计算机语言的分类 6
2.2 安装Python 7
2.3 安装PyCharm 10
2.4 Python入门 17
2.4.1 Hello Python案例 17
2.4.2 Python的基本语法 18
2.4.3 print()函数 19
2.4.4 提升训练及作业 20
2.5 注释 21
2.5.1 注释案例 21
2.5.2 单行注释 22
2.5.3 多行注释 22
2.5.4 提升训练及作业 22
2.6 变量和常量 23
2.6.1 变量案例 23
2.6.2 字面量 23
2.6.3 变量 24
2.6.4 常量 24
2.6.5 赋值 24
2.6.6 标识符 26
2.6.7 提升训练及作业 26
2.7 数据类型 27
2.7.1 数据类型案例 27
2.7.2 数据类型概念 28
2.7.3 整型和浮点型 28
2.7.4 字符串 28
2.7.5 转义字符 29
2.7.6 字符串强化 29
2.7.7 布尔型 33
2.7.8 空值 33
2.7.9 提升训练及作业 34
2.8 数据类型转换 35
2.8.1 数据类型转换案例 35
2.8.2 数据类型检查 35
2.8.3 类型转换函数 36
2.8.4 提升训练及作业 40
2.9 运算符 40
2.9.1 运算符案例 40
2.9.2 算术运算符 41
2.9.3 赋值运算符 41
2.9.4 关系运算符 42
2.9.5 逻辑运算符 43
2.9.6 条件运算符 44
2.9.7 运算符的优先级 45
2.9.8 提升训练及作业 46
第3章 Python的流程控制及流程控制语句 47
3.1 流程控制简介 47
3.2 if语句 49
3.2.1 if语句案例 50
3.2.2 input()函数 50
3.2.3 if语句结构 51
3.2.4 提升训练及作业 52
3.3 if-else语句 53
3.3.1 if-else语句案例 53
3.3.2 if-else语句结构 54
3.3.3 提升训练及作业 54
3.4 多重if语句 55
3.4.1 多重if语句案例 55
3.4.2 多重if语句结构 56
3.4.3 提升训练及作业 57
3.5 嵌套if语句 58
3.5.1 嵌套if语句案例 58
3.5.2 嵌套if语句结构 59
3.5.3 提升训练及作业 60
3.6 for循环语句 61
3.6.1 for循环语句案例 61
3.6.2 for循环语句结构 62
3.6.3 range()函数 62
3.6.4 提升训练及作业 63
3.7 while循环语句 63
3.7.1 while循环语句案例 63
3.7.2 while循环语句结构 64
3.7.3 提升训练及作业 66
3.8 双重循环语句 66
3.8.1 双重循环语句案例 67
3.8.2 双重循环语句结构 68
3.8.3 提升训练及作业 68
第4章 序列与字典 69
4.1 序列 69
4.1.1 序列简介 69
4.1.2 序列分类 69
4.2 列表 69
4.2.1 列表案例 70
4.2.2 列表的创建 72
4.2.3 索引 73
4.2.4 列表的切片 74
4.2.5 列表的修改 75
4.2.6 列表的删除 76
4.2.7 列表的运算符及函数 77
4.2.8 列表的方法 78
4.2.9 列表的遍历 80
4.2.10 提升训练及作业 82
4.3 元组 85
4.3.1 元组案例 85
4.3.2 元组的创建 86
4.3.3 元组的解包 86
4.3.4 提升训练及作业 86
4.4 可变对象 88
4.4.1 可变对象案例 88
4.4.2 可变对象的修改 88
4.4.3 提升训练及作业 89
4.5 字典 90
4.5.1 字典案例 90
4.5.2 字典的语法 92
4.5.3 字典的创建 92
4.5.4 字典值的获取 93
4.5.5 字典值的修改 94
4.5.6 字典值的删除 95
4.5.7 字典的遍历 98
4.5.8 常用字典函数 100
4.5.9 提升训练及作业 101
4.6 集合 101
4.6.1 集合案例 101
4.6.2 集合的创建 103
4.6.3 集合的常用方法 103
4.6.4 集合的运算 103
4.6.5 提升训练及作业 105
第5章 Python函数 107
5.1 函数简介 107
5.1.1 函数案例 108
5.1.2 函数的概念 108
5.1.3 函数的基础语法 109
5.1.4 函数的调用及执行 109
5.1.5 提升训练及作业 109
5.2 函数的参数 110
5.2.1 参数案例 110
5.2.2 参数的概念 111
5.2.3 形参、实参的含义 111
5.2.4 参数的传递 111
5.2.5 提升训练及作业 112
5.3 形参默认值 113
5.3.1 默认参数案例 113
5.3.2 形参默认值的应用 114
5.3.3 提升训练及作业 114
5.4 不定长参数 115
5.4.1 不定长参数案例 115
5.4.2 不定长参数的概念 116
5.4.3 不定长参数的使用 116
5.4.4 不定长参数的原理 116
5.4.5 提升训练及作业 116
5.5 函数返回值 117
5.5.1 函数返回值案例 117
5.5.2 函数的返回值 118
5.5.3 返回值的用法 118
5.5.4 函数对象和调用函数 118
5.5.5 提升训练及作业 118
5.6 作用域 119
5.6.1 作用域案例 120
5.6.2 全局作用域 120
5.6.3 函数作用域 121
5.6.4 变量的查找 121
5.6.5 全局变量的修改 121
5.6.6 命名空间 121
5.6.7 提升训练及作业 122
5.7 递归 123
5.7.1 递归案例 123
5.7.2 函数递归 123
5.7.3 提升训练及作业 124
5.8 高阶函数 125
5.8.1 高阶函数案例 125
5.8.2 高阶函数的定义 125
5.8.3 高阶函数的用法 126
5.8.4 abs()函数 126
5.8.5 round()函数 126
5.8.6 提升训练及作业 126
5.9 闭包 128
5.9.1 闭包案例 128
5.9.2 闭包的条件 128
5.9.3 装饰器 129
5.9.4 提升训练及作业 130
第6章 面向对象编程 132
6.1 类和对象 132
6.1.1 实例化类案例 132
6.1.2 类的结构和定义 133
6.1.3 类的属性和方法 135
6.1.4 提升训练及作业 136
6.2 封装 138
6.2.1 封装案例 139
6.2.2 封装的定义 140
6.2.3 类的私有属性 140
6.2.4 getter和setter方法 140
6.2.5 self参数 141
6.2.6 property装饰器 142
6.2.7 提升训练及作业 143
6.3 继承 144
6.3.1 继承案例 144
6.3.2 继承简介 145
6.3.3 方法重写 146
6.3.4 super()函数 146
6.3.5 多重继承 147
6.3.6 提升训练及作业 148
6.4 多态 150
6.4.1 多态案例 150
6.4.2 多态的概念 151
6.4.3 isinstance()函数 151
6.4.4 类属性 152
6.4.5 实例属性 152
6.4.6 静态方法 153
6.4.7 垃圾回收机制 153
6.4.8 提升训练及作业 153
6.5 模块 155
6.5.1 模块案例 155
6.5.2 模块化及其优点 156
6.5.3 引入外部模块 157
6.5.4 调用模块的属性 157
6.5.5 模块的属性私有化 157
6.5.6 模块的主函数 158
6.5.7 提升训练及作业 159
第7章 异常和文件 161
7.1 异常 161
7.1.1 ZeroDivisionError异常案例 161
7.1.2 异常的处理 162
7.1.3 异常的传播 163
7.1.4 异常对象 163
7.1.5 自定义异常对象 163
7.1.6 异常的处理机制 164
7.1.7 提升训练及作业 165
7.2 文件 165
7.2.1 文件案例 166
7.2.2 什么是文件 167
7.2.3 文件的路径 167
7.2.4 文件的操作函数 168
7.2.5 提升训练及作业 168
7.3 读取文件 169
7.3.1 读取文件案例 169
7.3.2 读取文件的方法 170
7.3.3 关闭文件的方法 171
7.3.4 文件的属性 172
7.3.5 提升训练及作业 173
7.4 写入文件 173
7.4.1 写入文件案例 173
7.4.2 文件的写入 174
7.4.3 open()函数详解 175
7.4.4 提升训练及作业 176
7.5 复制文件 176
7.5.1 复制文件案例 176
7.5.2 open字节和字符参数 178
7.5.3 提升训练及作业 178
第8章 项目实战——体验网络爬虫 180
8.1 概述 180
8.2 需求分析 181
8.2.1 需求分析概述 181
8.2.2 可行性分析 181
8.2.3 目标分析 182
8.3 系统设计 183
8.3.1 设计目标 183
8.3.2 开发及运行环境 183
8.3.3 逻辑结构设计 183
8.4 简单架构设计 183
8.4.1 爬虫调度端 183
8.4.2 URL管理器 184
8.4.3 网页下载器 185
8.4.4 网页解析器 186
8.4.5 资源库 188
8.5 主要代码 189
8.5.1 调度程序代码 189
8.5.2 URL管理器代码 190
8.5.3 网页下载器代码 191
8.5.4 网页解析器代码 191
8.5.5 程序输出代码 192
参考文献 194