第1章 绪论1
11 简介1
12 开放源码软件的革命1
13 Python 的历史2
14 Python 模块3
15 Python 和本书的一般注意事项3
16 本书导读3
17 因特网和万维网资源8
第2章 Python 编程概述9
21 简介9
22 第一个Python 程序:打印一行文本9
23 修改第一个Python 程序11
24 另一个Python 程序:整数求和12
25 内存概念14
26 算术运算15
27 字符串格式化19
28 做出决策:相等运算符和关系运算符21
29 缩进24
210 对象思想:对象技术简介25
第3章 控制结构27
31 概述27
32 算法27
33 伪代码27
34 控制结构28
35 if 选择结构29
36 if/else 和if/elif/else 选择结构30
37 while 重复结构34
38 算法陈述:案例分析1(由计数器控制的重复)35
39 算法陈述, 自上而下求精法:案例分析2(由哨兵值控制的重复)37
310 算法陈述, 自上而下求精法:案例分析3(嵌套控制结构)40
311 增量赋值符号43
312 由计数器控制的重复的本质44
313 for 重复结构45
314 使用for 重复结构47
315 break 和continue 语句49
316 逻辑运算符50
317 结构化编程总结53
第4章 函数57
41 概述57
42 Python 中的程序组件57
viii Python 编程金典
43 函数58
44 math 模块的函数58
45 函数定义60
46 随机数生成62
47 示例:博彩游戏63
48 作用域规则65
49 关键字import 和命名空间68
410 递归70
411 递归示例:斐波拉契序列72
412 递归与重复74
413 默认参数74
414 关键字参数75
第5章 列表. 元组和字典77
51 概述77
52 序列77
53 创建序列79
54 使用列表和元组80
55 字典86
56 列表和字典方法88
57 引用和引用参数92
58 将列表传给函数92
59 列表排序和搜索94
510 多下标序列95
第6章 公共网关接口(CGI)入门99
61 概述99
62 客户和Web 服务器交互99
63 简单的CGI 脚本103
64 向CGI 脚本发送输入108
65 用XHTML表单发送输入并用cgi 模块获取表单数据110
66 用cgiFieldStorage 读取输入113
67 其他HTTP 标头114
68 示例:交互式门户网站114
69 因特网和万维网资源117
第7章 基于对象的编程118
71 概述118
72 用类实现一个Time 抽象数据类型118
73 特殊属性121
74 控制属性访问122
75 为构造函数使用默认参数128
76 析构函数131
77 类属性131
78 合成:对象引用作为类成员使用133
79 数据抽象和信息隐藏135
710 软件重用性136
目录ix
第8章 自定义类138
81 概述138
82 自定义字符串表示:__str__方法138
83 自定义属性访问140
84 运算符重载142
85 运算符重载的限制143
86 重载一元运算符144
87 重载二元运算符144
88 重载内建函数145
89 类型转换146
810 案例分析:Rational 类146
811 重载序列运算152
812 案例分析:SingleList 类152
813 重载映射运算156
814 案例分析:SimpleDictionary 类157
第9章 面向对象编程:继承159
91 概述159
92 继承:基类和派生类160
93 创建基类和派生类161
94 在派生类中覆盖基类方法164
95 继承的软件工程学165
96 合成与继承166
97 "使用"和"知道"关系166
98 案例分析:Point, Circle 和Cylinder167
99 抽象基类和具体类170
910 案例分析:继承接口和实现170
911 多态性173
912 类和Python 22174
第10章 图形用户界面组件(一)188
101 概述188
102 Tkinter 简介189
103 简单的Tkinter 例子:Label 组件190
104 事件处理模型192
105 Entry 组件192
106 Button 组件195
107 Checkbutton 和Radiobutton 组件197
108 鼠标事件处理201
109 键盘事件处理205
1010 布局管理器206
1011 洗牌和发牌模拟212
1012 因特网和万维网资源214
第11章 图形用户界面组件(二)215
111 概述215
112 Pmw 简介215
113 ScrolledListBox 组件215
x Python 编程金典
114 ScrolledText 组_217
115 MenuBar 组件219
116 弹出菜单222
117 Canvas 组件224
118 Scale 组件225
119 其他GUI 工具_226
第12章 异常处理228
121 概述228
122 引发异常228
123 异常处理229
124 示例:DivideByZeroError 231
125 Python 的Exception 层次结构233
126 finally 子句234
127 Exception 对象和跟踪237
128 程序自定义异常类239
第13章 字符串处理和正则表达式242
131 概述242
132 字符和字符串基础242
133 字符串表示244
134 搜索字符串245
135 连接和分解字符串246
136 正则表达式247
137 编译正则表达式和处理正则表达式对象248
138 正则表达式的重复和置位字符249
139 字符类和特殊序列251
1310 正则表达式的字符串处理函数253
1311 分组254
1312 因特网和万维网资源255
第14章 文件处理和序列化256
141 概述256
142 数据层次结构256
143 文件和流257
144 创建顺序访问文件258
145 从顺序访问文件读取数据260
146 更新顺序访问文件264
147 随机访问文件264
148 模拟随机访问文件:shelve 模块265
149 将数据写入shelve 文件265
1410 从shelve 文件获取数据266
1411 示例:一个事务处理程序267
1412 对象序列化270
第15章 可扩展标记语言(XML)273
151 概述273
152 XML文档273
153 XML命名空间276
目录xi
154 文档对象模型(DOM)279
155 Simple API for XML(SAX)279
156 文档类型定义(DTD). 架构和验证280
157 XML词汇表286
158 可扩展样式表语言(XSL) 291
159 因特网和万维网资源295
第16章 Python 的XML处理297
161 概述297
162 动态生成XML内容297
163 XML处理包299
164 文档对象模型(DOM)300
165 用xmlsax解析XML306
166 案例分析:用Python 和XML实现论坛308
167 因特网和万维网资源320
第17章 数据库应用程序编程接口(DB-API)321
171 概述321
172 关系数据库模型321
173 关系数据库简介:Books 数据库322
174 结构化查询语言(SQL) 326
175 Python DB-API 规范337
176 数据库查询示例337
177 查询Books 数据库340
178 读取. 插入和更新数据库343
179 因特网和万维网资源347
第18章 进程管理348
181 概述348
182 osfork 函数348
183 ossystem 函数和osexec 函数家族354
184 控制进程的输入和输出357
185 进程间通信360
186 信号处理362
187 发送信号363
第19章 多线程处理366
191 概述366
192 线程状态:生命期366
193 threadingThread 示例368
194 线程同步370
195 生产者/消费者关系:无线程同步371
196 生产者/消费者关系:有线程同步375
197 生产者/消费者关系:Queue 模块379
198 生产者/消费者关系:循环缓冲区382
199 信号机387
1910 事件389
第20章 联网391
201 概述391
xii Python 编程金典
202 通过HTTP 定址URL391
203 建立简单服务器(使用流套接字)393
204 建立简单客户(使用流套接字)394
205 通过流套接字连接进行客户/服务器交互395
206 通过数据文报进行无连接的客户/服务器交互398
207 使用多线程服务器的客户/服务器Tic-Tac-Toe 游戏400
第21章 安全性408
211 概述408
212 密码系统古今谈408
213 加密密钥411
214 公钥加密413
215 密码破解414
216 密钥协商协议415
217 密钥管理415
218 数字签名416
219 公钥基础结构417
2110 安全协议419
2111 身份验证421
2112 安全攻击423
2113 运行受限Python 代码426
2114 网络安全429
2115 隐写术431
第22章 数据结构433
221 概述433
222 自引用类433
223 链表433
224 堆栈440
225 队列442
226 树443
第23章 案例分析:网上书店448
231 概述448
232 HTTP 会话和会话跟踪技术448
233 在网上书店中跟踪会话449
234 网上书店体系结构452
235 配置网上书店454
236 进入网上书店455
237 从数据库获得书籍列表456
238 查看一本书的详细资料461
239 在购物车中添加商品464
2310 查看购物车465
2311 结账469
2312 处理订单471
2313 错误处理472
2314 处理无线客户端(XHTML Basic 和WML)474
2315 因特网和万维网资源493
目录xiii
第24章 多媒体494
241 概述494
242 PyOpenGL 简介494
243 PyOpenGL 示例494
244 Alice 简介500
245 狐狸. 鸡和种子问题500
246 pygame 简介504
247 Python CD Playe505
248 Python Movie 509
249 用pygame 开发太空船游戏512
2410 因特网和万维网资源523
第25章 Python 服务器页(PSP)524
251 概述524
252 Python Servlet 524
253 PSP 简介525
254 第一个PSP 示例526
255 隐式对象527
256 脚本编程528
257 标准动作530
258 预编译指令539
259 案例分析:用Python 和XML实现论坛543
2510 因特网和万维网资源557
附录A Python 开发环境558
A1 概述558
A2 集成开发环境:IDLE558
A3 其他集成开发环境562
A4 因特网和万维网资源564
附录B Python 22 的其他特点565
B1 概述565
B2 迭代器565
B3 生成器572
B4 嵌套作用域575
B5 因特网和万维网资源577