第1章 欢迎来到Python世界 1
1.1 Python简介 2
视频教学:11分钟 2
1.2安装Python(Windows安装) 4
视频教学:8分钟 4
1.3使用带提示符的解释器 8
视频教学:10分钟 8
1.3.1基础知识——Python解释器 8
1.3.2实例描述 11
1.3.3实例应用 11
1.3.4运行结果 12
1.3.5实例分析 12
1.4 Python集成开发环境 12
视频教学:14分钟 12
1.5保存并执行程序 16
视频教学:6分钟 16
1.5.1基础知识——程序的保存和运行 16
1.5.2实例描述 17
1.5.3实例应用 17
1.5.4运行结果 17
1.5.5实例分析 18
1.6常见问题解答 18
1.6.1关于Python版本的问题 18
1.6.2 Python的print问题 18
1.6.3关于Python编程的问题 19
1.7习题 19
第2章 练就扎实的基本功 21
2.1 Python的编码规则 22
视频教学:16分钟 22
2.1.1基础知识——代码缩进与冒号 22
2.1.2基础知识——使用空行分隔代码 23
2.1.3基础知识——命名规则 24
2.1.4基础知识——为代码添加注释 25
2.1.5基础知识——语句的分隔 26
2.2数值 27
视频教学:10分钟 27
2.3制作超市购物清单 30
视频教学:7分钟 30
2.3.1基础知识——标识符的命名 30
2.3.2基础知识——变量与赋值 31
2.3.3基础知识——局部变量 31
2.3.4基础知识——全局变量 33
2.3.5实例描述 34
2.3.6实例应用 34
2.3.7运行结果 35
2.3.8实例分析 35
2.4用户登录验证 35
视频教学:19分钟 35
2.4.1基础知识——字符串的声明与表示 36
2.4.2基础知识——输入与输出 38
2.4.3实例描述 40
2.4.4实例应用 40
2.4.5运行结果 40
2.4.6实例分析 41
2.5计算圆的周长和面积 41
视频教学:13分钟 41
2.5.1基础知识——算术运算符与算术表达式 41
2.5.2基础知识——关系运算符与关系表达式 43
2.5.3基础知识——逻辑运算符与逻辑表达式 44
2.5.4基础知识——运算符的优先级 45
2.5.5实例描述 46
2.5.6实例应用 46
2.5.7运行结果 47
2.5.8实例分析 48
2.6常见问题解答 48
2.6.1 Python中3种字符串引号的区别 48
2.6.2 Python中文编码问题 48
2.7习题 49
第3章 控制结构 51
3.1制作有趣的炒菜流程 52
视频教学:6分钟 52
3.1.1基础知识——条件语句 52
3.1.2实例描述 54
3.1.3实例应用 55
3.1.4运行结果 55
3.1.5实例分析 55
3.2九九乘法表 56
视频教学:10分钟 56
3.2.1基础知识——循环语句 56
3.2.2实例描述 61
3.2.3实例应用 62
3.2.4运行结果 62
3.2.5实例分析 62
3.3实现关键字搜索功能 62
视频教学:5分钟 63
3.3.1基础知识——迭代工具 63
3.3.2实例描述 64
3.3.3实例应用 64
3.3.4运行结果 64
3.3.5实例分析 65
3.4为歌曲列表制作新颖的循环模式 65
视频教学:7分钟 65
3.4.1基础知识——跳转语句 65
3.4.2实例描述 68
3.4.3实例应用 69
3.4.4运行结果 69
3.4.5实例分析 70
3.5其他语句 70
视频教学:6分钟 70
3.5.1基础知识——pass语句 71
3.5.2基础知识——del语句 71
3.5.3基础知识——exec语句 72
3.6常见问题解答 72
3.6.1 Python中语句嵌套问题 72
3.6.2 Python中语句缩进问题 73
3.6.3 Python中循环语句问题 74
3.7习题 75
第4章 可复用的函数和模块 79
4.1 Python程序的结构 80
视频教学:4分钟 80
4.2计算相对年龄 81
视频教学:4分钟 81
4.2.1基础知识——函数的定义 81
4.2.2实例描述 82
4.2.3实例应用 82
4.2.4运行结果 82
4.2.5实例分析 83
4.3验证用户注册信息 83
视频教学:11分钟 83
4.3.1基础知识——函数形参与默认参数值 83
4.3.2实例描述 86
4.3.3实例应用 86
4.3.4运行结果 87
4.3.5实例分析 88
4.4判断是否闰年 88
视频教学:5分钟 88
4.4.1基础知识——函数的返回值 88
4.4.2实例描述 90
4.4.3实例应用 90
4.4.4运行结果 90
4.4.5实例分析 90
4.5调用模块函数添加用户 91
视频教学:5分钟 91
4.5.1基础知识——模块的创建 91
4.5.2实例描述 92
4.5.3实例应用 92
4.5.4运行结果 93
4.5.5实例分析 93
4.6重新设置安全密码 93
视频教学:6分钟 94
4.6.1基础知识——模块的导入 94
4.6.2实例描述 95
4.6.3实例应用 95
4.6.4运行结果 96
4.6.5实例分析 97
4.7模拟购物 97
视频教学:5分钟 97
4.7.1基础知识——模块属性的介绍 97
4.7.2实例描述 99
4.7.3实例应用 99
4.7.4运行结果 100
4.7.5实例分析 100
4.8使用模块内置函数生成验证码 101
视频教学:13分钟 101
4.8.1基础知识——模块的内置函数 101
4.8.2实例描述 105
4.8.3实例应用 105
4.8.4运行结果 105
4.8.5实例分析 106
4.9常见问题解答 106
4.9.1导入Python模块引起的问题 106
4.9.2关于Python函数不加括号的问题 107
4.10习题 107
第5章 数据结构 111
5.1 Python的“苦力”——列表 112
视频教学:22分钟 112
视频教学:9分钟 112
5.1.1基础知识——列表的创建 112
5.1.2基础知识——列表的使用 116
5.1.3基础知识——列表的查找、排序与反转 120
5.1.4基础知识——用列表实现堆栈 121
5.1.5实例描述 123
5.1.6实例应用 124
5.1.7运行结果 124
5.1.8实例分析 125
5.2不可变序列——元组 125
视频教学:18分钟 125
5.2.1基础知识——元组的创建 125
5.2.2基础知识——元组的访问 127
5.2.3基础知识——元组的遍历 129
5.2.4实例描述 130
5.2.5实例应用 131
5.2.6运行结果 132
5.2.7实例分析 132
5.3使用字典实现用户账号管理 132
视频教学:6分钟 133
视频教学:13分钟 133
视频教学:15分钟 133
5.3.1基础知识——字典的创建 133
5.3.2基础知识——字典的基本操作 134
5.3.3基础知识——字典的方法 138
5.3.4实例描述 142
5.3.5实例应用 142
5.3.6运行结果 144
5.3.7实例分析 145
5.4序列 145
视频教学:8分钟 145
5.4.1基础知识——序列的索引 145
5.4.2基础知识——序列的分片 146
5.4.3基础知识——序列相连 147
5.4.4基础知识——序列的乘法 147
5.5常见问题解答 148
5.5.1检测列表中的元素 148
5.5.2 Python字典排序问题 148
5.6习题 149
第6章 字符串与正则表达式 151
6.1邮箱注册系统 152
视频教学:17分钟 152
6.1.1基础知识——基础操作 152
6.1.2基础知识——字符串索引和分片 153
6.1.3基础知识——字符串转换 154
6.1.4实例描述 155
6.1.5实例应用 155
6.1.6运行结果 156
6.1.7实例分析 157
6.2打印客户凭条 157
视频教学:5分钟 157
6.2.1基础知识——字符串格式化 157
6.2.2实例描述 158
6.2.3实例应用 158
6.2.4运行结果 159
6.2.5实例分析 159
6.3列车路线查询系统 159
视频教学:6分钟 159
6.3.1基础知识——join()函数 159
6.3.2实例描述 160
6.3.3实例应用 160
6.3.4运行结果 160
6.3.5实例分析 161
6.4获取邮箱用户名 161
视频教学:9分钟 161
6.4.1基础知识——split()函数 161
6.4.2基础知识strip()函数 162
6.4.3实例描述 162
6.4.4实例应用 162
6.4.5运行结果 163
6.4.6实例分析 163
6.5上传图片格式判断 163
视频教学:6分钟 163
6.5.1基础知识——startswith()函数 164
6.5.2基础知识——endswith()函数 164
6.5.3实例描述 164
6.5.4实例应用 164
6.5.5运行结果 165
6.5.6实例分析 165
6.6邮箱用户名长度验证 166
视频教学:7分钟 166
6.6.1基础知识——fiind()函数 166
6.6.2实例描述 166
6.6.3实例应用 167
6.6.4运行结果 167
6.6.5实例分析 168
6.7文章内容过滤 168
视频教学:6分钟 168
6.7.1基础知识——replace()函数 168
6.7.2基础知识——translate()函数 168
6.7.3实例描述 169
6.7.4实例应用 169
6.7.5运行结果 169
6.7.6实例分析 170
6.8转换时间字符串strptime()函数 170
视频教学:6分钟 170
6.9会员注册系统 171
视频教学:11分钟 172
6.9.1基础知识——正则表达式简介 172
6.9.2基础知识——使用正则表达式 173
6.9.3实例描述 175
6.9.4实例应用 175
6.9.5运行结果 176
6.9.6实例分析 177
6.10常见问题解答 177
6.10.1格式化字符串%号问题 177
6.10.2无法对字符串进行拆分 178
6.11习题 179
第7章 面向对象编程 181
7.1面向对象编程 182
视频教学:14分钟 182
7.1.1基础知识——多态 182
7.1.2基础知识——封装 184
7.1.3基础知识——继承 185
7.2创建自定义类 185
视频教学:9分钟 185
7.2.1基础知识——类和对象 186
7.2.2实例描述 187
7.2.3实例应用 188
7.2.4运行结果 188
7.2.5实例分析 189
7.3模拟水果成熟的过程 189
视频教学:14分钟 189
7.3.1基础知识——属性和方法 189
7.3.2实例描述 200
7.3.3实例应用 200
7.3.4运行结果 201
7.3.5实例分析 201
7.4创建独特的服装连锁店 202
视频教学:10分钟 202
7.4.1基础知识——继承 202
7.4.2实例描述 207
7.4.3实例应用 207
7.4.4运行结果 208
7.4.5实例分析 208
7.5类的其他特性 209
视频教学:7分钟 209
7.5.1基础知识——类的命名空间 209
7.5.2基础知识——检查继承 210
7.6新式类 210
视频教学:9分钟 211
7.6.1基础知识——slots类属性 211
7.6.2基础知识——_getattribute_()特殊方法 212
7.6.3基础知识——描述符 213
7.7常见问题解答 214
7.7.1 Python中的_getattr__问题 214
7.7.2 Python中的继承问题 216
7.7.3 Python中的_getattribute_问题 217
7.8习题 218
第8章 基于文件的交互 223
8.1下载页面访问量统计 224
视频教学:6分钟 224
8.1.1基础知识——open()函数 224
8.1.2实例描述 225
8.1.3实例应用 225
8.1.4运行结果 225
8.1.5实例分析 226
8.2创建本地记事本 226
视频教学:15分钟 226
8.2.1基础知识——文件的读取 226
8.2.2基础知识——文件的写入 228
8.2.3实例描述 229
8.2.4实例应用 229
8.2.5运行结果 230
8.2.6实例分析 230
8.3格式化本地记事本 230
视频教学:7分钟 230
8.3.1基础知识——remove()函数 231
8.3.2实例描述 232
8.3.3实例应用 232
8.3.4运行结果 233
8.3.5实例分析 233
8.4备份与恢复本地记事本 233
视频教学:8分钟 233
8.4.1基础知识——copyfiile()和move()函数 234
8.4.2实例描述 234
8.4.3实例应用 235
8.4.4运行结果 235
8.4.5实例分析 236
8.5日记内容过滤器 236
视频教学:4分钟 236
8.5.1实例描述 236
8.5.2实例应用 236
8.5.3运行结果 237
8.5.4实例分析 237
8.6记事本的分类 238
视频教学:18分钟 238
8.6.1基础知识——mkdir()函数 238
8.6.2基础知识——makedirs()函数 238
8.6.3基础知识——rmdir()函数 239
8.6.4基础知识——rmtree()函数 239
8.6.5实例描述 239
8.6.6实例应用 240
8.6.7运行结果 241
8.6.8实例分析 242
8.7记事本文件列表 242
视频教学:8分钟 243
8.7.1基础知识——os.walk()和os.path.walk()函数 243
8.7.2实例描述 244
8.7.3实例应用 244
8.7.4运行结果 244
8.7.5实例分析 245
8.8常见问题解答 245
8.8.1使用os模块函数出错 245
8.8.2使用write()函数时出错 246
8.9习题 246
第9章 构造可容错的应用程序 249
9.1 Python中的异常 250
视频教学:7分钟 250
9.2实现提示异常信息编号功能 251
视频教学:16分钟 251
9.2.1基础知识——使用try...except捕捉异常 251
9.2.2基础知识——使用try...fiinally捕捉异常 254
9.2.3基础知识——使用raise抛出异常 255
9.2.4基础知识——自定义异常 256
9.2.5基础知识——使用assert语句 256
9.2.6实例描述 257
9.2.7实例应用 257
9.2.8运行结果 259
9.2.9实例分析 260
9.3使用PythonWin调试程序 260
视频教学:5分钟 260
9.4使用Eclipse for Python调试程序 262
视频教学:10分钟 262
9.4.1基础知识——安装PyDev 262
9.4.2基础知识——新建工程 263
9.4.3基础知识——配置调试 264
9.4.4基础知识——设置断点 266
9.5常见问题解答 268
9.5.1常见的捕获异常的方式有哪些 268
9.5.2 Python的异常体系都有哪些 269
9.6习题 270
第10章 持久化的数据 273
10.1持久化 274
视频教学:7分钟 274
10.2 Python的数据库支持 275
视频教学:6分钟 275
10.3制作一个可以永久保存的磁盘 277
视频教学:10分钟 277
10.3.1基础知识——持久化模块 277
10.3.2实例描述 280
10.3.3实例应用 280
10.3.4运行结果 281
10.3.5实例分析 282
10.4 SQLite数据库的使用 282
视频教学:6分钟 282
10.4.1基础知识——嵌入式数据库SQLite 283
10.4.2实例描述 286
10.4.3实例应用 286
10.4.4运行结果 287
10.4.5实例分析 288
10.5常见问题解答 289
10.5.1持久化模块anydbm问题 289
10.5.2持久化模块shelve问题 290
10.5.3 Python中数据库连接问题 291
10.6习题 293
第11章 让信息自由联通——Python网络功能 299
11.1网络模型介绍 300
视频教学:9分钟 300
11.1.1基础知识——OSI简介 300
11.1.2基础知识——TCP/IP简介 302
11.2网络设计模块 303
视频教学:14分钟 303
11.2.1基础知识——Socket模块 303
11.2.2基础知识——urllib和urllib2模块 305
11.2.3基础知识——其他模块 307
11.3服务器与客户端通信 308
视频教学:11分钟 308
11.3.1基础知识——服务器端的构建 308
11.3.2基础知识——客户端的构建 311
11.3.3实例描述 313
11.3.4实例应用 313
11.3.5运行结果 314
11.3.6实例分析 314
11.4异步通信方式 314
视频教学:7分钟 314
11.4.1基础知识——使用SocketServer进行分叉处理 314
11.4.2基础知识——使用线程方式 315
11.4.3基础知识——异步1O方式 316
11.4.4基础知识——使用asyncore模块 319
11.4.5实例描述 322
11.4.6实例应用 322
11.4.7运行结果 323
11.4.8实例分析 324
11.5实现一个简单Web服务器 324
视频教学:7分钟 324
11.5.1基础知识——初始Twisted框架 324
11.5.2基础知识——下载并安装Twisted 325
11.5.3基础知识——编写Twisted服务器 326
11.5.4实例描述 327
11.5.5实例应用 327
11.5.6运行结果 328
11.5.7实例分析 329
11.6常见问题解答 329
11.6.1 Python Socket编程疑问 329
11.6.2 Pydev调用Twisted模块的reactor错误 330
11.7习题 330
第12章 应知应会技能之HTML处理 333
12.1和我一起回顾HTML 334
视频教学:8分钟 334
12.1.1基础知识——HTML概述 334
12.1.2基础知识——HTML语法规范 334
12.1.3基础知识——SGML、HTML和XHTML的关系 335
12.2 URL处理 336
视频教学:14分钟 336
12.2.1基础知识——统一定位资源URL 336
12.2.2基础知识——模块urlparse 337
12.2.3基础知识——URL的编码与解码 340
12.3 CGI:帮助Web服务器处理客户端数据 342
视频教学:9分钟 342
12.3.1基础知识——CGI介绍 342
12.3.2基础知识——配置和获取CGI环境 344
12.3.3基础知识——解析用户的输入 348
12.4获取HTML文档资源 350
视频教学:13分钟 350
12.4.1基础知识——使用urlopen方法获取HTTP资源 350
12.4.2基础知识——使用httplib模块 352
获取资源 352
12.4.3实例描述 354
12.4.4实例应用 354
12.4.5运行结果 355
12.4.6实例分析 356
12.5 HTML文档的解析 356
视频教学:10分钟 356
12.5.1基础知识——使用HTMLParser模块 356
12.5.2基础知识——sgmllib的HTML文档处理 357
12.5.3基础知识——使用htmllib处理HTML文档 360
12.6展示个人小资料 361
视频教学:4分钟 361
12.6.1基础知识——建立表单页并生成结果页 361
12.6.2基础知识——生成表单和结果页面 363
12.6.3基础知识——完善表单页和结果页 366
12.6.4基础知识——Mulitipart表单提交和文件上传 369
12.6.5实例描述 370
12.6.6实例应用 371
12.6.7运行结果 372
12.6.8实例分析 373
12.7常见问题解答 373
12.7.1 Python中的urlopen问题 373
12.7.2 Python中的urllib2问题 374
12.8习题 375
第13章 应知应会技能之XML处理 379
13.1和我一起学习XML 380
视频教学:6分钟 380
13.2创建一个标准的XML文档 381
视频教学:17分钟 381
13.2.1基础知识——XML文档的 381
结构 381
13.2.2实例描述 388
13.2.3实例应用 388
13.2.4运行结果 389
13.2.5实例分析 390
13.3读取XML文档节点下的数据 390
视频教学:3分钟 390
13.3.1基础知识——SAX介绍 390
13.3.2基础知识——SAX处理的组成部分 391
13.3.3实例描述 395
13.3.4实例应用 395
13.3.5运行结果 396
13.3.6实例分析 397
13.4从XML文件中读取数据库配置 397
视频教学:13分钟 397
13.4.1基础知识——DOM介绍 397
13.4.2基础知识——xml.dom模块中的接口操作 399
13.4.3实例描述 403
13.4.4实例应用 403
13.4.5运行结果 405
13.4.6实例分析 406
13.5可扩展样式表语言XSL 406
视频教学:13分钟 406
13.6动态定义树状结构图 408
视频教学:3分钟 408
13.6.1实例描述 408
13.6.2实例应用 408
13.6.3运行结果 409
13.6.4实例分析 410
13.7常见问题解答 410
13.7.1 SAX解析XML问题 410
13.7.2 DOM中的xml.dom.minidom问题 411
13.7.3动态生成XML文档问题 412
13.8习题 413
第14章 图形用户界面 417
14.1 wxPython的开发环境 418
视频教学:8分钟 418
14.1.1基础知识——丰富的平台 418
14.1.2基础知识——下载和安装wxPython 419
14.1.3基础知识——wxPython的开发工具 420
14.2 wxPython的程序结构 423
视频教学:13分钟 423
14.2.1基础知识——wxPython应用程序的组成 423
14.2.2基础知识——wxPython窗口的组成 425
14.2.3实例描述 427
14.2.4实例应用 427
14.2.5运行结果 428
14.2.6实例分析 428
14.3 wxPython的常用组件 429
视频教学:12分钟 429
14.3.1基础知识——对话框 429
14.3.2基础知识——工具栏 432
14.3.3基础知识——状态栏 432
14.3.4实例描述 433
14.3.5实例应用 433
14.3.6运行结果 435
14.3.7实例分析 436
14.4 wxPython的基本组件 436
视频教学:7分钟 436
视频教学:18分钟 436
视频教学:10分钟 436
14.4.1基础知识——文本框 436
14.4.2基础知识——按钮控件 440
14.4.3基础知识——单选按钮 442
14.4.4基础知识——多选框 444
14.4.5基础知识——列表控件 445
14.4.6基础知识——Sizers布局组件 448
14.4.7实例描述 452
14.4.8实例应用 452
14.4.9运行结果 454
14.4.10实例分析 455
14.5 wxPython库中的菜单控件 455
视频教学:11分钟 455
14.5.1基础知识——菜单的创建和使用 455
14.5.2实例描述 459
14.5.3实例应用 459
14.5.4运行结果 461
14.5.5实例分析 462
14.6常见问题解答 462
14.6.1应用程序启动时立即崩溃 462
14.6.2顶级窗口刚创建便立即关闭 462
14.7习题 463
第15章Python的Web开发之Django框架应用 467
15.1 Django框架简介 468
视频教学:4分钟 468
15.2 MVC模式 469
视频教学:14分钟 469
15.2.1基础知识——MVC模式介绍 469
15.2.2基础知识——MVC模式的优点和缺点 470
15.2.3基础知识——Django框架中的MVC 471
15.3 Diango开发环境的搭建 472
视频教学:6分钟 472
15.3.1基础知识——Django框架的安装 472
15.3.2基础知识——数据库的配置 473
15.4使用Django框架制作通讯录 473
视频教学:19分钟 473
视频教学:11分钟 473
15.4.1基础知识——Web应用的创建 474
15.4.2基础知识——Django的开发服务器 476
15.4.3基础知识——创建数据库 477
15.4.4基础知识——生成Django应用 479
15.4.5基础知识——创建数据模型 480
15.4.6基础知识——URL设计 481
15.4.7基础知识——创建视图 483
15.4.8基础知识——创建模板 485
15.4.9实例描述 487
15.4.10实例应用 487
15.4.11运行结果 491
15.4.12实例分析 491
15.5使用Django框架的Session实现购物车 492
视频教学:11分钟 492
15.5.1基础知识——界面管理 492
15.5.2基础知识——生成数据表数据 494
15.5.3基础知识——Session的应用 497
15.5.4实例描述 500
15.5.5实例应用 500
15.5.6运行结果 503
15.5.7实例分析 504
15.6常见问题解答 504
15.6.1出现AttributeError:'str' objecthas no attribute'_meta错误 504
15.6.2 Django出现UnicodeEncodeError错误 505
15.6.3程序升级到Django 1.0后遇到问题 505
15.7习题 506
附录 各章习题参考答案 508