Python编程入门经典PDF文档免费下载
作为一门面向对象的开源编程语言,python易于理解和扩展,并且使用起来非常方便。《python编程入门经典》涵盖了python的方方面面,通过学习本书,读者可以立即使用python编写程序。作者james payne从python语言最基本的概念入手,重点介绍了python 2.6和3.1这两个版本的实际应用。通过对一些现有的python程序进行深入分析,读者能够快速上手。《python编程入门经典》涵盖的主题从字符串、列表和字典一直到类、对象和模块。掌握这些内容后,读者将学会如何迅速而自信地创建健壮、可靠而又可重用的python应用程序。
主要内容
◆介绍用于存储和操作数据的变量的概念
◆讨论用于读写数据的文件和输入/输出
◆总结常被忽视的python功能
◆深入研究如何为模块和程序编写测试
◆介绍如何使用python编写gui
◆着重介绍xml、html、xsl和相关技术
◆解释如何扩展python
◆分享数值编程技术
◆介绍jython的内部机理,jython是一个用java编写的python版本
全网最全Python必读书藉合集(PDF文档免费下载)
目录
第Ⅰ部分 初步了解Python
第1章 编程基础和字符串 3
1.1 编程与使用计算机的区别 3
1.1.1 编程的一致性 3
1.1.2 编程的可控性 4
1.1.3 程序要应对变化 4
1.1.4 小结 4
1.2 准备工作 4
1.2.1 在非Windows系统上安装
Python 3.1 5
1.2.2 使用Python Shell 5
1.3 开始使用Python——字符串 6
1.3.1 字符串概述 6
1.3.2 为什么需要引号 6
1.3.3 为什么有3种类型的引号 7
1.3.4 使用print()函数 7
1.3.5 理解不同的引号 8
1.4 串联两个字符串 10
1.5 用不同的方法串联字符串 11
1.6 本章小结 12
1.7 习题 13
第2章 数值与运算符 15
2.1 不同类型的数值 15
2.2 程序文件 17
2.2.1 使用不同的类型 18
2.2.2 基本算术 20
2.2.3 一些惊喜 22
2.3 使用数值 23
2.3.1 求值顺序 23
2.3.2 数值格式 24
2.3.3 可能会发生的错误 25
2.3.4 几个不寻常的例子 26
2.4 本章小结 26
2.5 习题 27
第3章 变量 29
3.1 引用数据——使用数据的
名称 29
3.1.1 使用名称修改数据 30
3.1.2 复制数据 31
3.1.3 禁用的名称以及一些规则 31
3.2 使用更多的内置类型 31
3.2.1 元组——不可更改的数据
序列 32
3.2.2 列表——可以更改的数据
序列 35
3.2.3 字典——以名称索引的分组
数据 36
3.2.4 像列表一样处理字符串 38
3.2.5 特殊类型 39
3.3 序列的其他共有属性 40
3.3.1 引用最后一个元素 40
3.3.2 序列的范围 41
3.3.3 通过附加序列增长列表 41
3.3.4 使用列表临时存储数据 42
3.3.5 处理集合 43
3.4 本章小结 44
3.5 习题 44
第Ⅱ部分 Python语言和标准库
第4章 做出决策 49
4.1 比较两个值是否相等 49
4.2 比较两个值是否不相等 51
4.3 比较两个值的大小 51
4.4 对真值和假值取反 53
4.5 观察多个比较运算的结果 54
4.6 循环 57
4.6.1 重复执行操作 57
4.6.2 终止循环 59
4.7 处理错误 62
4.8 本章小结 64
4.9 习题 65
第5章 函数 67
5.1 将程序放在单独的文件中 67
5.2 函数:在一个名称下聚集
代码 69
5.2.1 选择名称 70
5.2.2 在函数中描述函数 70
5.2.3 不同的位置相同的名称 72
5.2.4 添加注释 73
5.2.5 要求函数使用提供的值 73
5.2.6 检查参数 75
5.2.7 为参数设置默认值 77
5.2.8 在函数中调用其他函数 78
5.2.9 函数嵌套函数 80
5.2.10 用自己的词语标记错误 81
5.3 函数的层次 81
5.4 本章小结 82
5.5 习题 83
第6章 类与对象 85
6.1 考虑编程 85
6.1.1 对象的含义 85
6.1.2 已经了解的对象 85
6.1.3 展望:如何使用对象 87
6.2 定义类 87
6.2.1 如何创建对象 87
6.2.2 对象和它们的作用域 95
6.3 本章小结 98
6.4 习题 99
第7章 组织程序 101
7.1 模块 102
7.1.1 导入可用模块 102
7.1.2 通过已有模块创建新模块 102
7.1.3 从命令行开始使用模块 104
7.1.4 改变导入方式 106
7.2 包 106
7.3 模块和包 108
7.3.1 将所有内容引入当前
作用域 108
7.3.2 重新导入模块和包 109
7.4 测试模块和包的基础知识 111
7.5 本章小结 112
7.6 习题 112
第8章 文件和目录 115
8.1 文件对象 115
8.1.1 编写文本文件 116
8.1.2 向文件中追加文本 116
8.1.3 读文本文件 117
8.1.4 文件异常 119
8.2 路径和目录 119
8.3 os中的异常 119
8.3.1 路径 120
8.3.2 目录内容 122
8.3.3 获取文件信息 123
8.3.4 重命名、移动、复制和删除
文件 125
8.3.5 示例:轮换文件 126
8.3.6 创建和删除目录 127
8.3.7 通配 128
8.4 本章小结 129
8.5 习题 129
第9章 Python语言的其他特性 131
9.1 lambda和filter:简单匿名
函数 131
9.2 Map:短路循环 132
9.3 在列表中做出决策——
列表解析 133
9.4 为循环生成迭代器 133
9.5 使用字典的特殊字符串
替换 135
9.6 重要模块 137
9.6.1 getopt——从命令行中得到
选项 137
9.6.2 使用一个以上的进程 139
9.6.3 线程——在相同的进程中
完成多个工作 141
9.7 本章小结 143
9.8 习题 144
第10章 创建模块 145
10.1 研究模块 145
10.1.1 导入模块 147
10.1.2 查找模块 147
10.1.3 理解模块 148
10.2 创建模块和包 149
10.3 使用类 150
10.3.1 定义面向对象编程 151
10.3.2 创建类 151
10.3.3 扩展已有的类 152
10.4 完成模块 153
10.4.1 定义模块特定的错误 154
10.4.2 选择导出哪些内容 154
10.4.3 为模块建立文档 155
10.4.4 测试模块 164
10.4.5 将模块作为程序运行 165
10.5 创建一个完整的模块 166
10.6 安装模块 171
10.7 本章小结 174
10.8 习题 175
第11章 文本处理 177
11.1 文本处理的用途 177
11.1.1 搜索文件 178
11.1.2 日志剪辑 179
11.1.3 邮件筛选 179
11.2 使用os模块导航文件
系统 179
11.3 使用正则表达式和re
模块 185
11.4 本章小结 189
11.5 习题 189
第Ⅲ部分 开始使用Python
第12章 测试 193
12.1 断言 193
12.2 测试用例和测试套件 195
12.3 测试装置 198
12.4 用极限编程整合 201
12.4.1 用Python实现搜索实用
程序 202
12.4.2 一个更加强大的Python
搜索 207
12.5 软件生命周期中的正规
测试 210
12.6 本章小结 210
第13章 使用Python编写GUI 213
13.1 Python的GUI编程工具箱 213
13.2 Tkinter简介 215
13.3 用Tkinter创建GUI
小组件 215
13.3.1 改变小组件的尺寸 215
13.3.2 配置小组件选项 216
13.3.3 使用小组件 217
13.3.4 创建布局 217
13.3.5 填充顺序 218
13.3.6 控制小组件的外观 219
13.3.7 单选按钮和复选框 220
13.3.8 对话框 221
13.3.9 其他小组件类型 222
13.4 本章小结 222
13.5 习题 223
第14章 访问数据库 225
14.1 使用dbm持久字典 226
14.1.1 选择dbm模块 226
14.1.2 创建持久字典 227
14.1.3 访问持久字典 228
14.1.4 dbm与关系数据库的适用
场合 230
14.2 使用关系数据库 231
14.2.1 编写SQL语句 232
14.2.2 定义表 234
14.2.3 建立数据库 235
14.3 使用Python的数据库API 237
14.3.1 下载各个模块 237
14.3.2 创建连接 238
14.3.3 使用游标 238
14.3.4 使用事务并提交结果 245
14.3.5 检查模块的功能和元
数据 246
14.3.6 处理错误 246
14.4 本章小结 247
14.5 习题 248
第15章 使用Python处理XML 249
15.1 XML的含义 249
15.1.1 层次标记语言 249
15.1.2 一组标准 251
15.2 模式/DTD 251
15.2.1 文档模型的用途 251
15.2.2 是否需要文档模型 252
15.3 文档类型定义 252
15.3.1 DTD示例 252
15.3.2 DTD不完全是XML 253
15.3.3 DTD的局限性 253
15.4 模式 254
15.4.1 示例模式 254
15.4.2 模式是纯粹的XML 254
15.4.3 模式具有层次 255
15.4.4 模式的其他优点 255
15.5 XPath 255
15.6 HTML是XML的子集 256
15.6.1 HTML DTD 256
15.6.2 HTMLParser 256
15.7 Python中可用的XML库 257
15.8 SAX的含义 257
15.8.1 基于流 258
15.8.2 事件驱动 258
15.8.3 DOM的含义 258
15.8.4 内存中访问 258
15.9 使用SAX或者DOM的
理由 259
15.9.1 能力权衡 259
15.9.2 内存考虑 259
15.9.3 速度考虑 259
15.10 Python中可用的SAX
和DOM解析器 259
15.10.1 xml.sax 259
15.10.2 xml.dom.minidom 260
15.11 XSLT简介 262
15.11.1 XSLT是XML 262
15.11.2 转换和格式语言 263
15.11.3 函数式、模板驱动 263
15.12 lxml简介 263
15.13 元素类 263
15.14 使用lxml解析 266
15.15 本章小结 267
15.16 习题 267
第16章 网络编程 269
16.1 理解协议 271
16.1.1 比较协议和程序语言 271
16.1.2 Internet协议栈 272
16.1.3 Internet协议简介 273
16.2 发送电子邮件 274
16.2.1 E-mail文件格式 275
16.2.2 MIME消息 276
16.2.3 使用SMTP和smtplib发送
邮件 284
16.3 检索Internet邮件 286
16.3.1 使用mailbox解析本地
邮筒 286
16.3.2 使用poplib从POP3
服务器获取邮件 288
16.3.3 使用imaplib从IMAP
服务器获取邮件 290
16.3.4 安全的POP3和IMAP 294
16.3.5 Webmail应用程序不是
E-mail应用程序 294
16.4 套接字编程 294
16.4.1 套接字简介 295
16.4.2 绑定到外部主机名 297
16.4.3 镜像服务器 298
16.4.4 镜像客户端 299
16.4.5 套接字服务器 300
16.4.6 多线程服务器 302
16.4.7 Python聊天服务器 303
16.4.8 设计Python聊天
服务器 303
16.4.9 Python聊天服务器协议 304
16.4.10 Python聊天客户端 309
16.4.11 基于select的单线程
多任务 312
16.5 其他主题 313
16.5.1 协议设计的多种考虑 313
16.5.2 对等架构 314
16.6 本章小结 314
16.7 习题 315
第17章 用C扩展编程 317
17.1 扩展模块概述 318
17.2 构建并安装扩展模块 320
17.3 从Python向C传递参数 322
17.4 从C向Python返回值 325
17.5 LAME项目 326
17.6 LAME扩展模块 330
17.7 在C代码中使用Python
对象 342
17.8 本章小结 345
17.9 习题 346
第18章 数值编程 347
18.1 Python语言中的数值 347
18.1.1 整数 348
18.1.2 长整数 348
18.1.3 浮点数 349
18.1.4 格式化数值 350
18.1.5 作为数值的字符 352
18.2 数学 353
18.2.1 算术运算 354
18.2.2 内置数学函数 355
18.3 复数 357
18.4 数组 359
18.5 本章小结 363
18.6 习题 363
第19章 Django简介 365
19.1 框架的定义以及使用框架的
理由 365
19.2 Web框架的其他功能 366
19.3 Django发展史 367
19.4 理解Django的架构 368
19.4.1 项目初始设置 368
19.4.2 创建视图 371
19.5 使用模板 373
19.6 使用模板和视图 375
19.6.1 模型 378
19.6.2 创建模型的第一步——
配置数据库设置 379
19.7 创建模型:创建一个应用
程序 380
19.8 本章小结 382
19.9 习题 383
第20章 Web应用程序与Web
服务 385
20.1 REST:Web架构 386
20.1.1 REST的特性 386
20.1.2 REST操作 388
20.2 HTTP:REST的实际应用 388
20.2.1 可见的Web服务器 390
20.2.2 HTTP请求 393
20.2.3 HTTP响应 393
20.3 CGI:将脚本变为Web应用
程序 395
20.3.1 Web服务器与CGI脚本的
协议 397
20.3.2 CGI的特殊环境变量 397
20.3.3 通过HTML表单接收用户
输入 399
20.4 HTML表单的有限词汇 400
20.5 访问表单值的安全性 401
20.6 构建wiki 405
20.6.1 BittyWiki核心库 406
20.6.2 BittyWiki的Web接口 409
20.7 Web服务 418
20.8 REST Web 服务 419
20.8.1 REST快速入门:
在Amazon.com上寻找
廉价商品 419
20.8.2 WishListBargainFinder
简介 422
20.8.3 向BittyWiki提供
REST API 425
20.8.4 使用REST Web服务
实现搜索和替换功能 428
20.9 XML-RPC 432
20.9.1 XML-RPC请求 434
20.9.2 XML-RPC中的数据
表示 434
20.9.3 XML-RPC响应 435
20.9.4 错误处理机制 436
20.9.5 通过XML-RPC展示
BittyWiki API 437
20.9.6 基于XML-RPC Web服务
的wiki搜索和替换 440
20.10 SOAP 442
20.10.1 SOAP快速入门 442
20.10.2 SOAP请求 443
20.10.3 SOAP响应 444
20.10.4 错误处理机制 444
20.10.5 展示一个BittyWiki的
SOAP接口 445
20.10.6 基于SOAP Web服务的
wiki搜索和替换 447
20.11 为Web服务API创建
文档 449
20.11.1 人类可读的API
文档 449
20.11.2 XML-RPC自省API 450
20.11.3 WSDL 451
20.12 选择Web服务标准 455
20.13 Web服务礼仪 456
20.13.1 Web服务的使用者
礼仪 456
20.13.2 Web服务的创建者
礼仪 456
20.13.3 将Web应用程序作为
Web服务使用 456
20.14 本章小结 456
20.15 习题 457
第21章 集成Java与Python 459
21.1 在Java应用程序中编写
脚本 460
21.2 比较各种Python实现 461
21.3 安装Jython 461
21.4 运行Jython 461
21.4.1 交互地运行Jython 461
21.4.2 运行Jython脚本 463
21.4.3 控制jython脚本 463
21.4.4 创建可执行命令 464
21.5 独立运行Jython 465
21.6 打包基于Jython的应用
程序 466
21.7 集成Java和Jython 466
21.7.1 在Jython中使用
Java类 466
21.7.2 从Jython访问数据库 471
21.7.3 通过Jython编写
Java EE servlet 477
21.7.4 选择Jython开发工具 483
21.8 使用Jython进行测试 483
21.9 嵌入Jython解释器 484
21.10 处理C-Python和Jython
之间的差异 487
21.11 本章小结 488
21.12 习题 488
第Ⅳ部分 附 录
附录A 习题答案 491
附录B 在线资源 519
附录C Python 3.1的新特性 521
附录D 术语表 527