第 1章 Python如日中天 1
(视频总计47min,实例1个,范例两个)
1.1 Python语言基础 2
1.1.1 编程世界的“琅琊榜” 2
1.1.2 Python为什么这么火 2
1.1.3 Python语言的特点 3
1.2 安装Python 3
1.2.1 选择版本 4
1.2.2 在Windows系统中下载
并安装Python 4
1.2.3 在Mac系统中下载并安装
Python 5
1.2.4 在Linux系统中下载并安装
Python 6
1.3 Python开发工具介绍 6
1.3.1 使用IDLE 6
1.3.2 使用Emacs 7
1.4 认识第 一段Python程序 10
1.4.1 编码并运行 10
1.4.2 其他运行方式 11
1.5 技术解惑 12
1.5.1 提高开发效率—安装
文本编辑器 12
1.5.2 快速运行Hello World
程序 12
1.5.3 在终端会话中运行Python
代码 13
1.6 课后练习 13
第 2章 Python基础语法 14
(视频总计85min,实例6个,范例12个)
2.1 缩进规则 15
2.2 ���释 16
2.3 编码 17
2.3.1 字符编码 17
2.3.2 Unicode编码和UTF-8
编码 17
2.3.3 Python中的编码 18
2.4 标识符和关键字 19
2.5 变量 20
2.6 输入和输出 21
2.6.1 实现输入功能 22
2.6.2 实现输出功能 22
2.7 技术解惑 23
2.7.1 使用注释时的注意事项 23
2.7.2 注意变量的命名规则和
建议 23
2.7.3 注意Python语言的缩进
规则 24
2.7.4 变量赋值的真正意义 24
2.7.5 解码字节流 24
2.8 课后练习 24
第3章 简单数据类型 25
(视频总计56min,实例6个,范例12个)
3.1 Python中的数据类型 26
3.2 字符串 26
3.2.1 访问字符串中的值 26
3.2.2 更新字符串 27
3.2.3 转义字符 27
3.2.4 格式化字符串 28
3.2.5 字符串处理函数 29
3.3 数字类型 30
3.3.1 整型 30
3.3.2 浮点型 31
3.3.3 布尔型 31
3.3.4 复数型 32
3.4 技术解惑 33
3.4.1 总结整数支持的运算符 33
3.4.2 总结Python中的数学
函数 33
3.4.3 字符串的格式化技巧 34
3.5 课后练习 34
第4章 运算符和表达式 35
(视频总计69min,实例9个,范例16个)
4.1 什么是运算符和表达式 36
4.2 算术运算符和算术表达式 36
4.3 比较运算符和比较表达式 37
4.4 赋值运算符和赋值表达式 38
4.4.1 基本赋值运算符和
表达式 39
4.4.2 复合赋值运算符和
表达式 39
4.5 位运算符和位表达式 40
4.6 逻辑运算符和逻辑表达式 41
4.7 成员运算符和成员表达式 42
4.8 身份运算符和身份表达式 43
4.9 运算符的优先级 44
4.10 技术解惑 45
4.10.1 “==”运算符的秘密 45
4.10.2 身份运算符的特质 46
4.10.3 总结and和or的用法 46
4.10.4 is运算符和“==”运算符
的区别 47
4.11 课后练习 47
第5章 条件语句 48
(视频总计68min,实例7个,范例14个)
5.1 什么是条件语句 49
5.2 *简单的if语句 49
5.3 使用if...else语句 50
5.4 使用if...elif...else语句 51
5.5 if语句的嵌套 52
5.6 实现switch语句的功能 53
5.6.1 使用elif实现 54
5.6.2 使用字典实现 54
5.6.3 自定义编写一个类实现 55
5.7 技术解惑 56
5.7.1 剖析True和False条件
判断的用法 56
5.7.2 再次提醒不支持switch
语句的问题 56
5.7.3 *简洁的条件判断语句
写法 56
5.8 课后练习 57
第6章 循环语句 58
(视频总计67min,实例11个,范例22个)
6.1 使用for循环语句 59
6.1.1 基本的for循环语句 59
6.1.2 通过序列索引迭代 60
6.1.3 使用for… else循环语句 60
6.1.4 嵌套for循环语句 61
6.2 使用while循环语句 62
6.2.1 基本的while循环语句 62
6.2.2 使用while…else循环
语句 63
6.2.3 死循环问题 63
6.2.4 使用while循环嵌套
语句 64
6.3 使用循环控制语句 65
6.3.1 使用break语句 65
6.3.2 使用continue语句 66
6.3.3 使用pass语句 67
6.4 技术解惑 67
6.4.1 总结for循环语句 67
6.4.2 总结break和continue
语句 68
6.4.3 使用while循环的注意
事项 68
6.5 课后练习 68
第7章 使用列表 69
(视频总计105min,实例22个,范例42个)
7.1 列表类型基础 70
7.1.1 创建数字列表 70
7.1.2 访问列表中的值 71
7.1.3 使用列表中的值 72
7.2 列表的基本操作 73
7.2.1 更新列表元素 73
7.2.2 插入新的元素 73
7.2.3 在列表中删除元素 75
7.3 列表排列处理 77
7.3.1 使用方法sort()对列表进行
**性排序 77
7.3.2 使用方法sorted()对列表
进行临时排序 78
7.3.3 倒序输出列表中的信息 78
7.3.4 获取列表的长度 79
7.4 列表的**操作 79
7.4.1 列表中的运算符 79
7.4.2 列表截取与拼接 80
7.4.3 列表嵌套 80
7.4.4 获取列表元素中的*大值
和*小值 81
7.4.5 追加其他列表中的值 81
7.4.6 在列表中统计某元素出现
的次数 82
7.4.7 清空列表中的元素 82
7.4.8 复制列表中的元素 83
7.4.9 获取列表中某个元素的
索引 83
7.5 技术解惑 84
7.5.1 注意排列顺序的多样性 84
7.5.2 尝试有意引发错误 84
7.6 课后练习 84
第8章 使用元组、字典和集合 85
(视频总计137min,实例30个,范例56个)
8.1 使用元组类型 86
8.1.1 创建并访问元组 86
8.1.2 修改元组 87
8.1.3 删除元组 88
8.1.4 元组索引和截取 88
8.1.5 使用内置方法操作元组 89
8.2 使用字典 89
8.2.1 创建并访问字典 89
8.2.2 向字典中添加数据 90
8.2.3 修改字典 91
8.2.4 删除字典中的元素 91
8.2.5 创建空字典 92
8.2.6 和字典有关的内置函数 92
8.3 遍历字典 92
8.3.1 一次性遍历所有的
“键值”对 93
8.3.2 遍历字典中的所有键 93
8.3.3 按序遍历字典中的
所有键 94
8.3.4 遍历字典中的所有值 94
8.4 字典嵌套 95
8.4.1 字典列表 95
8.4.2 在字典中存储字典 96
8.4.3 在字典中存储列表 97
8.5 使用其他内置方法 97
8.5.1 使用方法clear()清空
字典 97
8.5.2 使用方法copy()复制
字典 98
8.5.3 使用方法fromkeys()创建
新字典 98
8.5.4 使用方法get()获取指定的
键值 99
8.5.5 使用方法setdefault()获取
指定的键值 99
8.5.6 使用方法update()修改
字典 100
8.6 使用集合 100
8.7 类型转换 101
8.7.1 内置类型转换函数 101
8.7.2 类型转换综合演练 102
8.8 技术解惑 103
8.8.1 for遍历方式并不是
**的 103
8.8.2 两种字典遍历方式的性能
对比 104
8.9 课后练习 104
第9章 使用函数 105
(视频总计118min,实例21个,范例42个)
9.1 函数基础 106
9.1.1 定义函数 106
9.1.2 调用函数 107
9.2 函数的参数 107
9.2.1 形参和实参 108
9.2.2 必需参数 108
9.2.3 关键字参数 108
9.2.4 默认参数 109
9.2.5 不定长参数 109
9.2.6 按值传递参数和按引用
传递参数 110
9.3 函数的返回值 111
9.3.1 返回一个简单值 111
9.3.2 可选实参 111
9.3.3 返回一个字典 112
9.4 变量的作用域 113
9.5 使用函数传递列表 114
9.5.1 访问列表中的元素 114
9.5.2 在函数中修改列表 115
9.6 使用匿名函数 115
9.7 函数和模块开发 116
9.7.1 导入整个模块文件 116
9.7.2 只导入指定的函数 117
9.7.3 使用as指定函数别名 118
9.7.4 使用as指定模块别名 118
9.7.5 导入所有函数 119
9.8 技术解惑 119
9.8.1 Python内置函数大全 119
9.8.2 一个项目引发的问题 120
9.8.3 使用递归方法展开多层
列表 120
9.9 课后练习 121
第 10章 面向对象(上) 122
(视频总计138min,实例22个,范例44个)
10.1 定义并使用类 123
10.1.1 定义类 123
10.1.2 类的基本用法 123
10.2 类对象 124
10.3 类方法 124
10.3.1 定义并使用类方法 124
10.3.2 构造方法 125
10.3.3 方法调用 126
10.3.4 创建多个实例 127
10.3.5 使用私有方法 128
10.3.6 析构方法 129
10.3.7 静态方法和类方法 129
10.3.8 类的专有方法 130
10.4 类属性 131
10.4.1 认识属性 131
10.4.2 类属性和实例属性 131
10.4.3 设置属性的默认值 132
10.4.4 修改属性的值 133
10.4.5 使用私有属性 135
10.5 继承 135
10.5.1 定义子类 135
10.5.2 在子类中定义方法和
属性 137
10.5.3 子类可以继续派生
新类 137
10.5.4 私有属性和私有方法 138
10.5.5 多重继承 139
10.6 方法重写 140
10.7 技术解惑 141
10.7.1 究竟什么是面向对象 141
10.7.2 Python语言的面向
对象编程 142
10.7.3 必须掌握的统一建模
语言 143
10.7.4 构造函数和析构函数的特殊说明 143
10.8 课后练习 143
第 11章 面向对象(下) 144
(视频总计129min,实例32个,范例60个)
11.1 模块架构 145
11.1.1 *基本的模块调用 145
11.1.2 目录“__pycache__” 146
11.1.3 使用“__name__”
属性 147
11.2 使用包 148
11.2.1 表示包 148
11.2.2 创建并使用包 149
11.2.3 实战演练 150
11.3 导入类 151
11.3.1 只导入一个类 151
11.3.2 导入指定的类 152
11.3.3 从一个模块中导入
多个类 152
11.3.4 导入整个模块 153
11.3.5 在一个模块中导入另
一个模块 153
11.4 迭代器 154
11.4.1 什么是迭代器 154
11.4.2 创建并使用迭代器 155
11.4.3 使用内置迭代器方法
iter() 156
11.5 生成器 157
11.5.1 生成器的运行机制 157
11.5.2 创建生成器 158
11.5.3 注意生成器的第 一次
调用 159
11.5.4 使用协程重置生成器
序列 160
11.6 装饰器 160
11.6.1 创建装饰器 160
11.6.2 使用装饰器装饰函数 161
11.6.3 使用装饰器装饰类 162
11.7 命名空间 163
11.7.1 命名空间的本质 163
11.7.2 查找命名空间 164
11.7.3 命名空间的生命周期 165
11.7.4 命名空间访问函数locals()
与globals() 165
11.8 闭包 167
11.8.1 什么是闭包 167
11.8.2 闭包和嵌套函数 168
11.8.3 使用闭包记录函数的
调用次数 168
11.8.4 使用闭包实现延迟
请求 169
11.8.5 闭包和装饰器 169
11.8.6 使用闭包定义泛型
函数 170
11.9 技术解惑 171
11.9.1 导入包的秘诀 171
11.9.2 无限迭代器的秘密 172
11.10 课后练习 172
第 12章 文件操作处理 173
(视频总计125min,实例29个,范例58个)
12.1 使用open()函数打开文件 174
12.2 使用File操作文件 175
12.2.1 File对象介绍 175
12.2.2 使用close()方法关闭
操作 176
12.2.3 使用方法flush() 176
12.2.4 使用方法fileno() 177
12.2.5 使用方法isatty() 177
12.2.6 使用方法next() 178
12.2.7 使用方法read() 178
12.2.8 使用方法readline() 179
12.2.9 使用方法readlines() 180
12.2.10 使用方法seek() 180
12.2.11 使用方法tell() 181
12.2.12 使用方法truncate() 182
12.2.13 使用方法writelines() 182
12.3 使用OS对象 183
12.3.1 OS对象介绍 183
12.3.2 使用方法access() 185
12.3.3 使用方法chdir() 186
12.3.4 使用方法chmod() 186
12.3.5 打开、写入和关闭 187
12.3.6 打开、读取和关闭 189
12.3.7 创建目录 189
12.3.8 获取目录下的信息 190
12.3.9 修改目录 192
12.3.10 删除目录 193
12.4 其他常见的文件操作 194
12.4.1 使用fileinput模块 194
12.4.2 批量获取文件名 195
12.5 技术解惑 196
12.5.1 注意包含文件的具体
范围 196
12.5.2 4点注意事项 196
12.6 课后练习 196
第 13章 异常处理 197
(视频总计53min,实例13个,范例26个)
13.1 语法错误 198
13.2 异常处理 199
13.2.1 异常的特殊之处 199
13.2.2 使用“try…except”处理
异常 199
13.2.3 使用“try…except…else”
处理异常 201
13.2.4 使用“try…except…finally”
语句 202
13.3 抛出异常 202
13.3.1 使用raise抛出异常 203
13.3.2 使用assert语句 203
13.3.3 自定义异常 204
13.4 内置异常类 205
13.4.1 处理ZeroDivisionError
异常 205
13.4.2 FileNotFoundError
异常 206
13.4.3 except捕获方式 207
13.4.4 使用函数testmod() 207
13.4.5 使用单元测试函数
testfile() 208
13.5 技术解惑 209
13.5.1 注意assert语句的
妙用 209
13.5.2 定义清理行为 209
13.5.3 妙用预定义的清理
行为 210
13.6 课后练习 210
第 14章 正则表达式 211
(视频总计53min,实例6个,范例12个)
14.1 基本语法 212
14.1.1 普通字符 212
14.1.2 非打印字符 212
14.1.3 特殊字符 213
14.1.4 限定符 216
14.1.5 定位符 217
14.1.6 限定范围和否定 218
14.1.7 运算符优先级 218
14.2 使用re模块 218
14.2.1 re模块库函数介绍 219
14.2.2 使用函数compile() 219
14.2.3 使用函数match() 220
14.2.4 使用函数search() 221
14.2.5 使用函数findall() 222
14.2.6 sub()和subn()函数 223
14.3 使用Pattern对象 224
14.4 正则表达式模式 224
14.5 技术解惑 228
14.5.1 生活中的正则表达式 228
14.5.2 为什么使用正则表达 228
14.5.3 分析函数re.match()和函数re.search()的区别 228
14.5.4 不能将限定符与定位点
一起使用 228
14.6 课后练习 229
第 15章 多线程开发 230
(视频总计68min,实例10个,范例20个)
15.1 线程和进程基础 231
15.2 Python线程处理 231
15.2.1 使用_thread 模块 231
15.2.2 使用threading模块:
threading模块介绍 232
15.2.3 使用threading模块:直接在线程中运行函数 233
15.2.4 使用threading模块:通过
继承类threading.Thread
创建 233
15.2.5 使用threading模块:线程
等待 234
15.2.6 使用threading模块:线程
同步 234
15.3 线程优先级队列模块queue 236
15.3.1 模块queue中的常用
方法 236
15.3.2 基本FIFO队列 236
15.3.3 LIFO队列 237
15.3.4 优先级队列 237
15.4 使用模块subprocess创建
进程 238
15.4.1 模块subprocess介绍 238
15.4.2 使用类Popen创建
进程 240
15.5 技术解惑 242
15.5.1 线程带来的意义
你知道吗 242
15.5.2 线程和进程的区别 244
15.6 课后练习 244
第 16章 Tkinter图形化界面开发 245
(视频总计88min,实例14个,范例28个)
16.1 Python图形化界面开发基础 246
16.1.1 GUI介绍 246
16.1.2 使用Python语言编写
GUI程序 246
16.2 Tkinter开发基础 247
16.2.1 第 一个Tkinter程序 247
16.2.2 向窗体中添加组件 248
16.3 Tkinter组件开发详解 248
16.3.1 Tkinter组件概览 249
16.3.2 使用按钮控件 250
16.3.3 使用文本框控件 251
16.3.4 使用菜单控件 252
16.3.5 使用标签控件 253
16.3.6 使用单选按钮和复选
按钮控件 254
16.3.7 使用绘图控件 256
16.4 Tkinter库的事件 257
16.4.1 Tkinter事件基础 258
16.4.2 动态绘图程序 259
16.5 实现对话框效果 261
16.5.1 创建消息框 261
16.5.2 创建输入对话框 263
16.5.3 创建打开/保存文件
对话框 264
16.5.4 创建颜色选择对话框 265
16.5.5 创建自定义对话框 265
16.6 技术解惑 267
16.6.1 格外注意方法pack()的
参数 267
16.6.2 请务必注意方法grid()的
参数 267
16.6.3 请务必注意方法place()
的属性 267
16.7 课后练习 267
第 17章 网络编程 268
(视频总计96min,实例12个,范例24个)
17.1 网络开发基础 269
17.1.1 OSI七层网络模型 269
17.1.2 TCP/IP协议 270
17.2 套接字编程 270
17.2.1 socket()函数介绍 270
17.2.2 socket对象的内置函数和
属性 271
17.2.3 使用套接字建立TCP“客
户端/服务器”连接 272
17.2.4 使用套接字建立UDP“客
户端/服务器”连接 274
17.3 socketserver编程 275
17.3.1 socketserver模块
基础 275
17.3.2 使用socketserver创建
TCP“客户端/服务器”
连接 276
17.4 HTTP协议开发 277
17.4.1 使用urllib包 277
17.4.2 使用HTTP包 280
17.5 收发电子邮件 281
17.5.1 开发POP3邮件协议
程序 281
17.5.2 开发SMTP邮件协议
程序 283
17.6 开发FTP文件传输程序 285
17.6.1 Python和FTP 285
17.6.2 创建一个FTP文件传输
客户端 287
17.7 解析XML 289
17.7.1 SAX解析方法 289
17.7.2 DOM解析方法 291
17.8 解析JSON数据 292
17.8.1 类型转换 292
17.8.2 编码和解码 293
17.9 技术解惑 294
17.9.1 详细剖析客户端/服务器
编程模型 294
17.9.2 详细剖析类
HTTPConnection中的
方法 295
17.10 课后练习 296
第 18章 数据库开发 297
(视频总计88min,实例13个,范例26个)
18.1 操作SQLite3数据库 298
18.2 操作MySQL数据库 299
18.2.1 搭建PyMySQL环境 300
18.2.2 实现数据库连接 300
18.2.3 创建数据库表 301
18.2.4 数据库插入操作 302
18.2.5 数据库查询操作 302
18.2.6 数据库更新操作 303
18.2.7 数据库删除操作 304
18.2.8 执行事务 304
18.3 使用MariaDB数据库 305
18.3.1 搭建MariaDB数据库
环境 305
18.3.2 在Python程序中使用
MariaDB数据库 308
18.4 使用MongoDB数据库 309
18.4.1 搭建MongoDB环境 309
18.4.2 在Python程序中使用
MongoDB数据库 310
18.5 使用适配器 312
18.6 使用ORM操作数据库 316
18.6.1 Python和ORM 316
18.6.2 使用SQLAlchemy 317
18.6.3 使用mongoengine 319
18.7 技术解惑 321
18.7.1 灵活使用查询运算符 321
18.7.2 掌握between关键字的
用法 322
18.7.3 了解关联表操作的
秘密 322
18.7.4 请课外学习并掌握SQL
语言的知识 322
18.8 课后练习 322
第 19章 Python动态Web开发基础 323
(视频总计91min,实例18个,范例36个)
19.1 Python CGI编程 324
19.1.1 CGI介绍 324
19.1.2 搭建CGI服务器 324
19.1.3 第 一个CGI程序 325
19.2 使用Tornado框架 325
19.2.1 Tornado框架介绍 326
19.2.2 Python和Tornado
框架 326
19.2.3 获取请求参数 327
19.2.4 使用cookie 329
19.2.5 URL转向 330
19.2.6 使用静态资源文件 331
19.3 使用Django框架 332
19.3.1 搭建Django环境 332
19.3.2 常用的Django命令 333
19.3.3 第 一个Django工程 334
19.3.4 在URL中传递参数 335
19.3.5 使用模板 337
19.3.6 使用表单 341
19.3.7 实现基本的数据库
操作 342
19.3.8 使用Django后台系统
开发博客系统 343
19.4 使用Flask框架 346
19.4.1 开始使用Flask框架 346
19.4.2 传递URL参数 347
19.4.3 使用session和cookie 349
19.4.4 文件上传 350
19.5 技术解惑 351
19.5.1 “客户端/服务器”开发
模式 351
19.5.2 Python Web客户端开发
是大势所趋 351
19.5.3 注意Python 3的
变化 352
19.6 课后练习 352
第 20章 使用Pygame开发游戏 353
(视频总计59min,实例8个,范例16个)
20.1 安装Pygame 354
20.2 Pygame开发基础 355
20.2.1 Pygame框架中的
模块 355
20.2.2 事件操作 356
20.2.3 显示模式设置 359
20.2.4 字体处理 359
20.2.5 像素和颜色处理 360
20.2.6 使用Surface绘制
图像 362
20.2.7 使用pygame.draw绘图
函数 362
20.3 开发一个俄罗斯方块游戏 364
20.3.1 规划图形 364
20.3.2 具体实现 365
20.4 技术解惑 371
20.4.1 电脑游戏开发的**
知识 371
20.4.2 如何创建Surface
对象 372
20.5 课后练习 372
第 21章 使用Pillow库处理图形 373
(视频总计74min,实例16个,范例32个)
21.1 安装Pillow库 374
21.2 使用Image模块 374
21.2.1 打开和新建 374
21.2.2 混合 376
21.2.3 复制和缩放 377
21.2.4 粘贴和裁剪 378
21.2.5 格式转换 379
21.2.6 重设和旋转 380
21.2.7 分离和合并 381
21.2.8 滤镜 382
21.2.9 其他内置函数 382
21.3 使用ImageChops模块 384
21.3.1 常用的内置函数 384
21.3.2 实现图片合成 385
21.4 使用ImageEnhance模块 386
21.4.1 常用的内置函数 386
21.4.2 实现图像增强处理 386
21.5 使用ImageFilter模块 387
21.5.1 常用的内置函数 387
21.5.2 实现滤镜处理 388
21.6 使用ImageDraw模块 388
21.6.1 常用的内置函数 388
21.6.2 绘制二维图像 390
21.7 使用ImageFont模块 390
21.8 技术解惑 391
21.8.1 详细剖析ImageFont
模块的内置函数 391
21.8.2 必须掌握并深入理解的
几个概念 392
21.9 课后练习 392
第 22章 使用Matplotlib实现数据
挖掘 393
(视频总计70min,实例18个,范例36个)
22.1 数据可视化 394
22.2 搭建Matplotlib环境 394
22.3 初级绘图 396
22.3.1 绘制点 396
22.3.2 绘制折线 396
22.3.3 设置标签文字和线条
粗细 398
22.4 **绘图 399
22.4.1 自定义散点图样式 399
22.4.2 绘制柱状图 400
22.4.3 绘制多幅子图 404
22.4.4 绘制曲线 406
22.5 绘制随机漫步图 411
22.5.1 在Python程序中生成
随机漫步数据 411
22.5.2 在Python程序中绘制
随机漫步图 413
22.6 绘制其他样式的图 414
22.6.1 绘制三维图 414
22.6.2 绘制波浪图 415
22.6.3 绘制散点图 416
22.6.4 绘制等高线图 416
22.6.5 绘制饼状图 417
22.7 技术解惑 418
22.7.1 充分利用官方资源 418
22.7.2 如何实现子图 418
22.8 课后练习 419
第 23章 大数据实战——抓取数据并
分析 420
(视频总计36min)
23.1 爬虫抓取 421
23.1.1 检测“Redis”的
状态 421
23.1.2 账号模拟登录 421
23.1.3 实现具体抓取功能 423
23.2 大数据分析 428