第一篇 Python入门 3
第1章 Python概述 3
1.1 Python简介 3
1.2 为什么使用Python 4
1.3 不同平台下的Python 5
1.3.1 Java平台下的Python 5
1.3.2 .NET平台下的Python:Python for.NET和IronPython 6
1.4 搭建开发环境 6
1.4.1 对操作系统的要求 6
1.4.2 下载和安装Python 7
1.4.3 自己编译Python 9
1.4.4 使用Vim编写Python脚本 10
1.4.5 使用Emacs编写Python脚本 14
1.4.6 使用PythonWin编写Python脚本 16
1.4.7 其他的Python开发环境 18
1.5 运行Python脚本 19
1.5.1 第一个Python程序——“Hello,Python!” 19
1.5.2 在Python交互式命令行中运行脚本 20
第2章 Python起步 22
2.1 脚本基本结构 22
2.2 基本输入/输出 24
2.3 在Python中使用中文 26
2.4 把Python当作计算器 28
第二篇 Python语法 33
第3章 Python数据类型与基本语句 33
3.1 Python数据类型——数字 33
3.1.1 基本类型 33
3.1.2 运算符 34
3.2 Python数据类型——字符串 35
3.2.1 字符串概述 36
3.2.2 操作字符串 36
3.2.3 索引和分片 39
3.2.4 格式化字符串 40
3.2.5 字符串与数字相互转换 40
3.2.6 原始字符串(Raw String) 41
3.3 Python数据类型——列表和元组 41
3.4 Python数据类型——字典 42
3.5 Python数据类型——文件 43
3.6 Python基本语句 45
3.6.1 if语句 45
3.6.2 for语句 47
3.6.3 while语句 49
第4章 函数与模块 51
4.1 函数 51
4.1.1 函数声明 51
4.1.2 函数调用 52
4.2 函数中的参数 53
4.2.1 参数默认值 53
4.2.2 参数传递 54
4.2.3 可变长参数 55
4.2.4 参数引用 56
4.3 作用域 56
4.4 lambda表达式 57
4.5 模块 58
4.5.1 模块概述 58
4.5.2 模块查找路径 60
4.5.3 模块编译 61
4.5.4 模块独立运行——_name_属性 62
4.5.5 dir()函数 62
4.6 模块包 63
第5章 正则表达式 65
5.1 正则表达式概述 65
5.1.1 基本元字符 65
5.1.2 常用正则表达式分析 66
5.2 re模块函数应用 67
5.2.1 匹配和搜索 67
5.2.2 替换函数 68
5.2.3 分割字符串函数 69
5.3 正则表达式对象 69
5.3.1 以“\”开头的元字符 69
5.3.2 编译正则表达式 70
5.3.3 使用原始字符串 71
5.4 正则表达式对象的属性和方法 71
5.4.1 匹配和搜索 71
5.4.2 替换 73
5.4.3 分割字符串 74
5.5 使用组 75
5.5.1 组概述 75
5.5.2 组的扩展语法 76
5.6 Match对象 77
5.6.1 使用Match对象处理组 77
5.6.2 使用Match对象处理索引 78
5.7 使用正则表达式处理文件 79
第6章 面向对象的Python 82
6.1 概述 82
6.1.1 Python中的面向对象的思想 82
6.1.2 类和对象 83
6.2 类的基础 84
6.2.1 类的定义 84
6.2.2 类的使用 85
6.3 类的属性和方法 86
6.3.1 类的属性 86
6.3.2 类的方法 87
6.4 类的继承 90
6.4.1 通过继承创建类 90
6.4.2 多重继承 91
6.5 重载 93
6.5.1 方法重载 93
6.5.2 运算符重载 94
6.6 模块中的类 96
第7章 异常与调试 98
7.1 捕获异常 98
7.1.1 使用try语句 98
7.1.2 处理异常 100
7.1.3 多重异常处理 102
7.2 引发异常 103
7.2.1 使用raise引发异常 103
7.2.2 assert——简化的raise语句 104
7.2.3 自定义异常类 105
7.3 使用pdb调试Python脚本 105
7.3.1 运行语句 105
7.3.2 运行表达式 106
7.3.3 运行函数 107
7.3.4 设置硬断点 107
7.3.5 pdb调试命令 108
7.4 在Python Win中调试Python脚本 110
第三篇 系统应用 117
第8章 Python扩展和嵌入 117
8.1 扩展Python 117
8.1.1 扩展概述 117
8.1.2 程序详解 122
8.1.3 在Python扩展中使用MFC 124
8.2 在C/C++中嵌入Python 128
8.2.1 高层次嵌入Python 128
8.2.2 较低层次嵌入Python 129
8.2.3 在C中嵌入Python实例 133
8.3 语言的黏合剂SWIG 135
8.3.1 在Windows集成开发环境中使用SWIG 136
8.3.2 SWIG接口文件的语法简介 138
8.4 混合系统接口Boost.Python 139
8.4.1 编译Boost.Python 139
8.4.2 使用Boost.Python扩展和嵌入Python 140
8.4.3 使用Pyste代码生成器 144
8.5 连接Python与C的桥梁——Pyrex 145
8.5.1 安装使用Pyrex 145
8.5.2 Pyrex文件语法 146
第9章 多线程编程 148
9.1 线程基础 148
9.1.1 创建线程 148
9.1.2 Thread对象中的方法 150
9.2 线程同步 153
9.2.1 简单的线程同步 153
9.2.2 使用条件变量保持线程同步 154
9.2.3 使用队列保持线程同步 156
9.3 线程间通信 157
9.3.1 Event对象的方法 157
9.3.2 使用Event对象实现线程间通信 158
9.4 微线程——Stackless Python 158
9.4.1 Stackless Python概述 159
9.4.2 使用微线程 161
第10章 系统编程 162
10.1 访问Windows注册表 162
10.1.1 注册表概述 162
10.1.2 使用Python操作注册表 163
10.1.3 查看系统启动项 166
10.1.4 修改IE 167
10.2 文件和目录 169
10.2.1 文件目录常用函数 169
10.2.2 批量重命名 171
10.2.3 代码框架生成器 172
10.3 使用py2exe生成可执行文件 173
10.3.1 安装py2exe 173
10.3.2 使用py2exe生成可执行文件 174
10.4 运行其他程序 176
10.4.1 使用os.system函数运行其他程序 176
10.4.2 使用ShellExecute函数运行其他程序 176
10.4.3 使用CreateProcess函数运行其他程序 177
10.4.4 使用ctypes调用kernel32.dll中的函数 178
第11章 使用PythonWin编写GUI 184
11.1 Windows GUI编程概述 184
11.1.1 使用Windows API创建窗口 184
11.1.2 使用MFC创建窗口 186
11.2 对话框 188
11.2.1 创建对话框 188
11.2.2 向对话框中添加控件 188
11.2.3 使用DLL文件中的资源 191
11.2.4 处理按钮消息 192
11.3 菜单 195
11.3.1 创建菜单 195
11.3.2 使用DLL中的菜单 198
11.3.3 处理菜单消息 200
第12章 使用Tkinter编写GUI 202
12.1 Tkinter概述 202
12.1.1 创建简单的窗口 202
12.1.2 向窗口中添加组件 203
12.2 使用组件 204
12.2.1 组件分类 204
12.2.2 组件布局 204
12.2.3 使用按钮 205
12.2.4 使用文本框 207
12.2.5 使用标签 208
12.2.6 使用菜单 210
12.2.7 使用单选框和复选框 211
12.2.8 绘制图形 214
12.3 事件处理 216
12.3.1 事件表示 216
12.3.2 响应事件 218
12.4 创建对话框 221
12.4.1 使用标准对话框 221
12.4.2 创建自定义对话框 226
第13章 使用wxPython编写GUI 228
13.1 wxPython概述 228
13.1.1 安装wxPython 228
13.1.2 创建窗口 230
13.2 组件 231
13.2.1 面板 231
13.2.2 按钮 233
13.2.3 标签 235
13.2.4 文本框 236
13.2.5 单选框和复选框 239
13.2.6 使用sizer布置组件 241
13.3 对话框 242
13.3.1 消息框和标准对话框 242
13.3.2 创建自定义对话框 245
13.4 菜单 246
13.4.1 创建菜单 246
13.4.2 绑定菜单事件 248
13.5 资源文件 249
13.5.1 创建资源文件 249
13.5.2 在脚本中使用资源文件 251
13.6 一个简单的文本编辑器 252
第14章 使用PyGTK编写GUI 256
14.1 PyGTK概述 256
14.1.1 PyGTK安装 256
14.1.2 创建窗口 257
14.2 组件 258
14.2.1 标签 258
14.2.2 按钮 261
14.2.3 容器组件 264
14.2.4 文本框 266
14.2.5 单选框和复选框 269
14.3 消息框和对话框 271
14.3.1 消息框 271
14.3.2 标准对话框 273
14.3.3 自定义对话框 275
14.4 菜单 277
14.4.1 创建菜单 277
14.4.2 菜单事件 281
14.5 资源文件 282
14.5.1 使用Glade创建资源文件 282
14.5.2 使用资源文件 284
第15章 使用PyQT编写GUI 286
15.1 PyQt概述 286
15.1.1 PyQt的安装 286
15.1.2 使用PyQt创建窗口 288
15.2 组件 288
15.2.1 标签 288
15.2.2 布局组件和空白项 289
15.2.3 按钮 292
15.2.4 文本框 294
15.2.5 单选框和复选框 297
15.2.6 菜单 298
15.3 对话框 301
15.3.1 消息框和标准对话框 301
15.3.2 自定义对话框 306
15.4 资源文件 307
15.4.1 使用Qt Designer创建资源文件 307
15.4.2 使用资源文件 309
第四篇 Web与数据库 313
第16章 Python与数据库 313
16.1 连接Access数据库 313
16.1.1 使用ODBC连接Access数据库 313
16.1.2 使用DAO连接Access数据库 317
16.1.3 使用ADO连接Access数据库 318
16.2 使用MySQL数据库 319
16.2.1 安装MySQL 319
16.2.2 连接到MySQ L 322
16.3 嵌入式数据库SQLite 324
第17章 Python Web应用 326
17.1 开源Web应用服务器Zope 326
17.1.1 安装Zope 326
17.1.2 使用Zope管理界面 328
17.1.3 创建模板 331
17.1.4 添加Python脚本 334
17.1.5 连接MySQL数据库 335
17.2 使用Plone内容管理系统 337
17.2.1 安装Plone 337
17.2.2 安装Plone产品 340
17.3 在Microsoft IIS中使用Python 344
17.3.1 安装Microsoft IIS 344
17.3.2 在ASP中使用Python脚本 347
17.3.3 一个简单的例子 350
17.4 在Apache中使用Python 353
17.4.1 安装配置Apache 353
17.4.2 安装mod_python 355
17.4.3 使用Python Sever Pages创建留言板 357
第18章 Python网络编程 361
18.1 使用socket模块 361
18.1.1 网络编程概述 361
18.1.2 使用socket模块建立网络通信 362
18.1.3 在局域网中传输文件 367
18.2 使用urllib、httplib以及ftplib 370
18.2.1 使用Python访问网站 370
18.2.2 访问FTP 374
18.3 使用poplib和smtplib模块收发邮件 378
18.3.1 检查E-mail 378
18.3.2 发送E-mail 381
18.4 连接到Gtalk 383
18.4.1 安装XMPPPY 384
18.4.2 使用XMPPPY 385
第19章 处理HTML与XML 388
19.1 处理HTML 388
19.1.1 HTMLParser模块简介 388
19.1.2 获取页面图片地址 390
19.1.3 查看天气预报 391
19.2 处理XML 397
19.2.1 XML基础 397
19.2.2 文档类型定义 399
19.2.3 命名空间 400
19.3 使用Python处理XML 401
19.3.1 使用xml.parsers.expat处理XML 401
19.3.2 使用xml.sax处理XML 404
19.3.3 使用xml.dom处理XML 405
19.4 简单的RSS阅读器 405
第五篇 多媒体与其他应用 413
第20章 数据结构与算法 413
20.1 表、栈和队列 413
20.1.1 表 413
20.1.2 栈 414
20.1.3 队列 416
20.2 树和图 418
20.2.1 树 418
20.2.2 二叉树 419
20.2.3 图 422
20.3 查找与排序 424
20.3.1 查找 424
20.3.2 排序 426
第21章 科学计算 429
21.1 NumPy和SciPy简介 429
21.1.1 安装NumPy和SciPy 429
21.1.2 NumPy简介 431
21.1.3 SciPy简介 432
21.2 矩阵运算和解线性方程组 433
21.2.1 矩阵运算 434
21.2.2 解线性方程组 436
21.3 使用Matplotlib绘制函数图形 437
21.3.1 安装Matplotlib 437
21.3.2 使用Matplotlib绘制图形 440
第22章 Python多媒体编程 442
22.1 使用PyOpenGL绘制3D图形 442
22.1.1 安装PyOpenGL 442
22.1.2 使用PyOpenGL创建窗口 443
22.1.3 绘制文字 444
22.1.4 绘制2D图形 446
22.1.5 绘制3D图形 448
22.1.6 纹理映射 450
22.2 播放音频文件 453
22.2.1 使用DirectSound 453
22.2.2 使用WMPlayer.OCX 455
22.3 PyGame 456
22.3.1 安装PyGame 457
22.3.2 使用PyGame编写简单的游戏 458
第23章 使用PIL处理图片 462
23.1 PIL概述 462
23.1.1 安装PIL 462
23.1.2 PIL简介 463
23.2 使用PIL处理图片 465
23.2.1 转换图片格式 465
23.2.2 生成缩略图 467
23.2.3 为图片添加Logo 471