第1章 基础知识 1
1.1 如何选择Python版本 1
1.2 Python安装与简单使用 3
1.3 使用pip管理Python扩展库 5
1.4 Python基础知识 5
1.4.1 Python对象模型 5
1.4.2 Python变量 6
1.4.3 数字 9
1.4.4 字符串 10
1.4.5 运算符与表达式 11
1.4.6 常用内置函数 14
1.4.7 对象的删除 17
1.4.8 基本输入输出 18
1.4.9 模块导入与使用 20
1.5 Python代码编写规范 21
1.6 Python文件名 23
1.7 Python脚本的_name_属性 24
1.8 编写自己的包 24
1.9 Python编程快速入门 25
1.10 The Zen of Python 27
本章小结 28
习题 29
第2章 Python序列 30
2.1 列表 30
2.1.1 列表创建与删除 31
2.1.2 列表元素的增加 32
2.1.3 列表元素的删除 35
2.1.4 列表元素访问与计数 39
2.1.5 成员资格判断 40
2.1.6 切片操作 41
2.1.7 列表排序 43
2.1.8 用于序列操作的常用内置函数 44
2.1.9 列表推导式 46
2.1.10 使用列表实现向量运算 48
2.2 元组 49
2.2.1 元组的创建与删除 49
2.2.2 元组与列表的区别 50
2.2.3 序列解包 51
2.2.4 生成器推导式 52
2.3 字典 53
2.3.1 字典创建与删除 53
2.3.2 字典元素的读取 54
2.3.3 字典元素的添加与修改 55
2.3.4 字典应用案例 55
2.3.5 有序字典 56
2.4 集合 57
2.4.1 集合的创建与删除 57
2.4.2 集合操作 58
2.4.3 集合运用案例 59
2.5 再谈内置方法sorted() 60
2.6 复杂数据结构 62
2.6.1 堆 62
2.6.2 队列 63
2.6.3 栈 65
2.6.4 链表 67
2.6.5 二叉树 68
2.6.6 有向图 70
本章小结 71
习题 72
第3章 选择与循环 73
3.1 条件表达式 73
3.2 选择结构 75
3.2.1 单分支选择结构 75
3.2.2 双分支选择结构 75
3.2.3 多分支选择结构 76
3.2.4 选择结构的嵌套 77
3.2.5 选择结构应用案例 78
3.3 循环结构 80
3.3.1 for循环与while循环 80
3.3.2 循环结构的优化 80
3.4 break和continue语句 82
3.5 案例精选 83
本章小结 88
习题 89
第4章 字符串与正则表达式 90
4.1 字符串 91
4.1.1 字符串格式化 92
4.1.2 字符串常用方法 94
4.1.3 字符串常量 99
4.1.4 可变字符串 101
4.1.5 字符串应用案例精选 101
4.2 正则表达式 104
4.2.1 正则表达式语法 104
4.2.2 re模块主要方法 106
4.2.3 直接使用re模块方法 107
4.2.4 使用正则表达式对象 108
4.2.5 子模式与match对象 110
4.2.6 正则表达式应用案例精选 114
本章小结 118
习题 119
第5章 函数设计与使用 120
5.1 函数定义与调用 121
5.2 形参与实参 122
5.3 参数类型 123
5.3.1 默认值参数 123
5.3.2 关键参数 125
5.3.3 可变长度参数 125
5.3.4 参数传递时的序列解包 126
5.4 return语句 126
5.5 变量作用域 127
5.6 lambda表达式 129
5.7 案例精选 130
5.8 高级话题 134
本章小结 137
习题 138
第6章 面向对象程序设计 139
6.1 类的定义与使用 139
6.1.1 类定义语法 139
6.1.2 self参数 140
6.1.3 类成员与实例成员 140
6.1.4 私有成员与公有成员 141
6.2 方法 143
6.3 属性 145
6.3.1 Python 2.x中的属性 145
6.3.2 Python 3.x中的属性 147
6.4 特殊方法与运算符重载 149
6.4.1 常用特殊方法 149
6.4.2 案例精选 150
6.5 继承机制 154
本章小结 156
习题 157
第7章 文件操作 158
7.1 文件对象 158
7.2 文本文件操作案例精选 159
7.3 二进制文件操作案例精选 165
7.3.1 使用pickle模块 165
7.3.2 使用struct模块 166
7.4 文件级操作 167
7.4.1 os与os.path模块 167
7.4.2 shutil模块 169
7.5 目录操作 170
7.6 案例精选 171
本章小结 184
习题 184
第8章 异常处理结构与程序调试、测试 185
8.1 基本概念 185
8.2 Python异常类与自定义异常 186
8.3 Python中的异常处理结构 189
8.3.1 try…except结构 189
8.3.2 try…except…else结构 190
8.3.3 带有多个except的try结构 190
8.3.4 try…except…finally结构 191
8.4 断言与上下文管理 193
8.4.1 断言 193
8.4.2 上下文管理 194
8.5 用sys模块回溯最后的异常 194
8.6 使用IDLE调试代码 195
8.7 使用pdb模块调试程序 196
8.7.1 pdb模块常用命令 196
8.7.2 使用pdb模块调试Python程序 197
8.8 Python单元测试 200
本章小结 203
习题 203
第9章 GUI编程 204
9.1 wxPython 204
9.1.1 Frame 204
9.1.2 Button、StaticText、TextCtrl 207
9.1.3 Menu 209
9.1.4 ToolBar、StatusBar 210
9.1.5 对话框 211
9.1.6 RadioButton、CheckBox 212
9.1.7 ComboBox 213
9.1.8 ListBox 214
9.1.9 TreeCtrl 216
9.2 tkinter应用案例精选 219
9.2.1 用户登录界面 219
9.2.2 选择类组件应用 220
9.2.3 简单文本编辑器 223
9.2.4 简单画图程序 226
9.2.5 电子时钟 230
本章小结 232
习题 233
第10章 网络程序设计 234
10.1 计算机网络基础知识 234
10.2 UDP和TCP编程 235
10.2.1 UDP编程 236
10.2.2 TCP编程 237
10.3 网络嗅探器与端口扫描器设计 239
10.3.1 网络嗅探器 239
10.3.2 多进程端口扫描器 240
10.4 网页内容读取与网页爬虫 242
10.4.1 网页内容读取与域名分析 242
10.4.2 版本自适应的网页爬虫 244
10.5 使用Python开发网站 245
10.5.1 使用IIS运行Python网站 245
10.5.2 使用web2py框架开发网站 247
10.5.3 使用C#和Python组合开发ASP.NET网站 251
10.5.4 Flask框架 253
本章小结 254
习题 255
第11章 大数据处理 256
11.1 大数据框架 257
11.2 MapReduce编程案例 258
11.3 Hadoop模式的MapReduce应用 261
本章小结 262
习题 262
第12章 Windows系统编程 263
12.1 注册表编程 263
12.2 创建可执行文件 266
12.3 调用外部程序 267
12.4 创建窗口 271
12.5 判断操作系统的版本 275
12.6 系统运维 275
12.6.1 Python扩展库psutil 276
12.6.2 使用pywin32实现事件查看器 277
12.6.3 切换用户登录身份 280
本章小结 281
习题 282
第13章 多线程与多进程编程 283
13.1 threading模块 283
13.2 Thread对象 284
13.2.1 Thread对象中的方法 284
13.2.2 Thread对象中的daemon属性 285
13.3 线程同步技术 287
13.3.1 LockRLock对象 287
13.3.2 Condition对象 288
13.3.3 queue对象 290
13.3.4 Event对象 290
13.4 多进程编程 291
13.4.1 创建进程 292
13.4.2 进程间数据交换 292
13.4.3 进程同步 294
本章小结 295
习题 296
第14章 数据库编程 297
14.1 SQLite应用 297
14.1.1 Connection对象 298
14.1.2 Cursor对象 299
14.1.3 Row对象 301
14.2 访问其他类型数据库 302
14.2.1 操作Access数据库 302
14.2.2 操作MS SQL Server数据库 303
14.2.3 操作MySQL数据库 304
本章小结 306
习题 306
第15章 多媒体编程 307
15.1 图形编程 307
15.1.1 创建图形编程框架 307
15.1.2 绘制文字 308
15.1.3 绘制图形 309
15.1.4 纹理映射 310
15.1.5 处理键盘/鼠标事件 312
15.2 图像编程 312
15.2.1 图像处理模块PIL与pillow功能简介 312
15.2.2 使用pillow计算椭圆中心 314
15.2.3 使用pillow动态生成比例分配图 315
15.2.4 使用pillow生成验证码图片 316
15.3 音乐编程 318
15.4 语音识别 320
本章小结 321
习题 321
第16章 逆向工程与软件分析 322
16.1 主流项目与插件简介 322
16.1.1 主流项目 323
16.1.2 常用插件 323
16.2 IDAPython与Immunity Debugger编程 324
16.2.1 IDAPython编程 324
16.2.2 Immunity Debugger编程 329
16.3 Windows平台软件调试原理 334
16.3.1 Windows调试接口 334
16.3.2 调试事件 335
16.3.3 进程调试 336
16.3.4 线程环境 337
16.3.5 断点 338
16.4 案例精选 339
本章小结 341
习题 342
第17章 科学计算与可视化 343
17.1 NumPy简单应用 343
17.2 SciPy简单应用 349
17.2.1 常数与特殊函数 350
17.2.2 SciPy简单应用 351
17.3 Matplotlib案例精选 352
17.3.1 绘制带有中文标签和图例的正弦余弦曲线 352
17.3.2 绘制散点图 353
17.3.3 绘制饼状图 353
17.3.4 使用pyplot绘制,多个图形在一起显示 354
17.3.5 使用pyplot绘制,多个图形单独显示 356
17.3.6 绘制三维图形 356
17.3.7 绘制三维曲线 357
17.4 数据分析模块pandas 358
17.5 统计分析模块statistics 362
本章小结 364
习题 364
第18章 密码学编程 365
18.1 安全哈希算法 365
18.2 对称密钥密码算法DES和AES 365
18.3 非对称密钥密码算法RSA与数字签名算法DSA 367
18.3.1 RSA 367
18.3.2 DSA 369
本章小结 369
习题 369
第19章 安卓平台的Python编程 370
19.1 QPython简介 370
19.2 安卓应用开发案例 371
本章小结 375
习题 375
参考文献 376