本书是权威的Python语言参考指南,内容涉及核心Python语言和Python库的最重要部分。本书内容简洁扼要、可读性强,书中还包括了一些没有在Python官方文档或其他资料中出现过的一些高级的主题。
这一版在内容上进行了全面更新,介绍了Python 2.6和Python 3新引入的编程语言特性和库模块,同时还分析了Python程序员面临的如下难题:是应继续使用现有的Python代码,还是应制定计划将其移植到Python 3?
第一部分 Python语言
第1章 Python简介 2
1.1 运行Python 2
1.2 变量和算术表达式 3
1.3 条件语句 5
1.4 文件输入和输出 6
1.5 字符串 7
1.6 列表 8
1.7 元组 9
1.8 集合 10
1.9 字典 11
1.10 迭代与循环 12
1.11 函数 13
1.12 生成器 14
1.13 协程 15
1.14 对象与类 16
1.15 异常 17
1.16 模块 18
1.17 获得帮助 19
第2章 词汇和语法约定 20
2.1 行结构和缩进 20
2.2 标识符和保留字 21
2.3 数字字面量 21
2.4 字符串字面量 22
2.5 容器 23
2.6 运算符、分隔符及特殊符号 24
2.7 文档字符串 24
2.8 装饰器 24
2.9 源代码编码 25
第3章 类型与对象 26
3.1 术语 26
3.2 对象的身份与类型 26
3.3 引用计数与垃圾收集 27
3.4 引用与复制 28
3.5 第一类对象 29
3.6 表示数据的内置类型 30
3.6.1 None类型 30
3.6.2 数字类型 31
3.6.3 序列类型 31
3.6.4 映射类型 35
3.6.5 集合类型 36
3.7 表示程序结构的内置类型 37
3.7.1 可调用类型 38
3.7.2 类、类型与实例 40
3.7.3 模块 41
3.8 解释器内部使用的内置类型 41
3.8.1 代码对象 41
3.8.2 帧对象 42
3.8.3 跟踪对象 42
3.8.4 生成器对象 43
3.8.5 切片对象 43
3.8.6 Ellipsis对象 43
3.9 对象行为与特殊方法 44
3.9.1 对象的创建与销毁 44
3.9.2 对象字符串表示 44
3.9.3 对象比较与排序 45
3.9.4 类型检查 46
3.9.5 属性访问 46
3.9.6 属性包装与描述符 46
3.9.7 序列与映射方法 47
3.9.8 迭代 48
3.9.9 数学操作 48
3.9.10 可调用接口 50
3.9.11 上下文管理协议 50
3.9.12 对象检查与dir() 51
第4章 运算符与表达式 52
4.1 数字操作 52
4.2 序列操作 53
4.3 字符串格式化 56
4.4 高级字符串格式化 57
4.5 字典操作 59
4.6 集合操作 60
4.7 增量赋值 60
4.8 属性(.)运算符 61
4.9 函数调用()运算符 61
4.10 转换函数 61
4.11 布尔表达式与真值 62
4.12 对象的比较与身份 63
4.13 运算优先级 63
4.14 条件表达式 64
第5章 程序结构与控制流 65
5.1 程序结构与执行 65
5.2 执行条件语句 65
5.3 循环与迭代 66
5.4 异常 68
5.4.1 内置异常 70
5.4.2 定义新异常 71
5.5 上下文管理器与with语句 72
5.6 断言与__debug__ 73
第6章 函数与函数编程 75
6.1 函数 75
6.2 参数传递与返回值 77
6.3 作用域规则 77
6.4 函数对象与闭包 79
6.5 装饰器 82
6.6 生成器与yield 83
6.7 协程与yield表达式 85
6.8 使用生成器与协程 87
6.9 列表包含 89
6.10 生成器表达式 90
6.11 声明式编程 91
6.12 lambda运算符 92
6.13 递归 92
6.14 文档字符串 93
6.15 函数属性 94
6.16 eval()、exec()和compile()函数 94
第7章 类与面向对象编程 96
7.1 class语句 96
7.2 类实例 97
7.3 范围规则 97
7.4 继承 98
7.5 多态动态绑定和鸭子类型 100
7.6 静态方法和类方法 101
7.7 特性 102
7.8 描述符 104
7.9 数据封装和私有属性 105
7.10 对象内存管理 106
7.11 对象表示和属性绑定 108
7.12 __slots__ 109
7.13 运算符重载 110
7.14 类型和类成员测试 111
7.15 抽象基类 113
7.16 元类 114
7.17 类装饰器 117
第8章 模块、包与分发 118
8.1 模块与import语句 118
8.2 从模块导入选定符号 119
8.3 以主程序的形式执行 120
8.4 模块搜索路径 121
8.5 模块加载和编译 121
8.6 模块重新加载和卸载 122
8.7 包 123
8.8 分发Python程序和库 125
8.9 安装第三方库 127
第9章 输入与输出 129
9.1 读取命令行选项 129
9.2 环境变量 130
9.3 文件和文件对象 130
9.4 标准输入、输出和错误 133
9.5 print语句 133
9.6 print()函数 134
9.7 文本输出中的变量插入 134
9.8 生成输出 135
9.9 Unicode字符串处理 136
9.10 Unicode I/O 137
9.10.1 Unicode数据编码 138
9.10.2 Unicode字符特性 140
9.11 对象持久性与pickle模块 140
第10章 执行环境 142
10.1 解释器选项与环境 142
10.2 交互式会话 144
10.3 启动Python应用程序 145
10.4 站点配置文件 145
10.5 用户站点包 146
10.6 启用新功能 146
10.7 程序终止 147
第11章 测试、调试、探查与调优 149
11.1 文档字符串和doctest模块 149
11.2 单元测试和unittest模块 151
11.3 Python调试器和pdb模块 153
11.3.1 调试器命令 153
11.3.2 从命令行进行调试 156
11.3.3 配置调试器 156
11.4 程序探查 156
11.5 调优与优化 157
11.5.1 进行计时测量 157
11.5.2 进行内存测量 158
11.5.3 反汇编 158
11.5.4 调优策略 159
第二部分 Python库
第12章 内置函数和异常 164
12.1 内置函数和类型 164
12.2 内置异常 172
12.2.1 异常基类 172
12.2.2 异常实例 173
12.2.3 预定义的异常类 173
12.3 内置警告 176
12.4 future_builtins 176
第13章 Python运行时服务 178
13.1 atexit 178
13.2 copy 178
13.3 gc 179
13.4 inspect 180
13.5 marshal 183
13.6 pickle 184
13.7 SYS 186
13.7.1 变量 186
13.7.2 函数 189
13.8 traceback 191
13.9 types 192
13.10 warnings 193
13.11 weakref 194
第14章 数学运算 197
14.1 decimal 197
14.1.1 Decimal对象 197
14.1.2 Context对象 198
14.1.3 函数和常量 200
14.1.4 示例 201
14.2 fractions 202
14.3 math 203
14.4 numbers 205
14.5 random 206
14.5.1 种子和初始化 206
14.5.2 随机整数 206
14.5.3 随机序列 206
14.5.4 实值随机分布 207
第15章 数据结构、算法与代码简化 209
15.1 abc 209
15.2 array 210
15.3 bisect 212
15.4 collections 213
15.4.1 deque和defaultdict 213
15.4.2 命名元组 214
15.4.3 抽象基类 216
15.5 contextlib 217
15.6 functools 218
15.7 heapq 219
15.8 itertools 220
15.9 operator 222
第16章 字符串和文本处理 225
16.1 odecs 225
16.1.1 低级codecs接口 225
16.1.2 I/O相关函数 226
16.1.3 有用的常量 227
16.1.4 标准编码 227
16.1.5 注意 228
16.2 re 228
16.2.1 模式语法 228
16.2.2 函数 229
16.2.3 正则表达式对象 231
16.2.4 匹配对象 231
16.2.5 示例 232
16.2.6 注意 233
16.3 string 233
16.3.1 常量 233
16.3.2 Formatter对象 233
16.3.3 Template字符串 235
16.3.4 实用工具函数 235
16.4 struct 235
16.4.1 打包和解包函数 236
16.4.2 Struct对象 236
16.4.3 格式编码 236
16.4.4 注意 237
16.5 unicodedata 238
第17章 Python数据库访问 241
17.1 关系数据库API规范 241
17.1.1 连接 241
17.1.2 Cursor 242
17.1.3 生成查询 243
17.1.4 类型对象 244
17.1.5 错误处理 245
17.1.6 多线程 245
17.1.7 将结果映射到字典中 246
17.1.8 数据库API扩展 246
17.2 sqlite3模块 246
17.2.1 模块级函数 246
17.2.2 连接对象 248
17.2.3 游标和基本操作 250
17.3 DBM风格的数据库模块 252
17.4 shelve模块 253
第18章 文件和目录处理 254
18.1 bz2 254
18.2 filecmp 255
18.3 fnmatch 256
18.4 glob 257
18.5 gzip 257
18.6 shutil 258
18.7 tarfile 259
18.7.1 异常 261
18.7.2 示例 262
18.8 tempfile 262
18.9 zipfile 263
18.10 zlib 266
第19章 操作系统服务 268
19.1 Commands模块 268
19.2 ConfigParser、configparser模块 269
19.2.1 ConfigParser类 269
19.2.2 示例 270
19.2.3 注意 272
19.3 datetime模块 272
19.3.1 date对象 272
19.3.2 time对象 273
19.3.3 datetime对象 274
19.3.4 timedelta对象 275
19.3.5 涉及日期的数学运算 276
19.3.6 tzinfo对象 277
19.3.7 日期与时间解析 278
19.4 errno模块 278
19.4.1 POSIX错误代码 278
19.4.2 Windows错误代码 279
19.5 fcntl模块 280
19.5.1 示例 281
19.5.2 注意 282
19.6 io模块 282
19.6.1 基本I/O接口 282
19.6.2 原始I/O 282
19.6.3 缓存二进制I/O 283
19.6.4 文本I/O 285
19.6.5 open()函数 285
19.6.6 抽象基类 286
19.7 logging模块 286
19.7.1 日志记录级别 286
19.7.2 基本配置 287
19.7.3 Logger对象 288
19.7.4 处理器对象 292
19.7.5 消息格式化 295
19.7.6 各种实用工具函数 296
19.7.7 日志记录配置 296
19.7.8 性能考虑 299
19.7.9 注意 299
19.8 mmap模块 299
19.9 msvcrt模块 301
19.10 optparse模块 303
19.10.1 例子 305
19.10.2 注意 306
19.11 os模块 307
19.11.1 进程环境 307
19.11.2 文件创建与文件描述符 309
19.11.3 文件与目录 313
19.11.4 进程管理 316
19.11.5 系统配置 320
19.11.6 异常 321
19.12 os.path模块 321
19.13 signal模块 323
19.13.1 例子 325
19.13.2 注意 325
19.14 subprocess模块 326
19.14.1 例子 327
19.14.2 注意 328
19.15 time模块 328
19.16 winreg模块 331
第20章 线程与并发性 334
20.1 基本概念 334
20.2 并发编程与Python 335
20.3 multiprocessing模块 336
20.3.1 进程 336
20.3.2 进程间通信 337
20.3.3 进程池 343
20.3.4 共享数据与同步 345
20.3.5 托管对象 347
20.3.6 连接 352
20.3.7 各种实用工具函数 353
20.3.8 多进程处理的一般建议 353
20.4 threading模块 354
20.4.1 Thread对象 354
20.4.2 Timer对象 356
20.4.3 Lock对象 356
20.4.4 RLock 356
20.4.5 信号量与有边界的信号量 357
20.4.6 事件 358
20.4.7 条件变量 358
20.4.8 使用Lock 359
20.4.9 线程终止与挂起 360
20.4.10 实用工具函数 361
20.4.11 全局解释器锁定 361
20.4.12 使用线程编程 361
20.5 queue、Queue模块 362
20.6 协程与微线程 364
第21章 网络编程和套接字 365
21.1 网络编程基础 365
21.2 asynchat模块 367
21.3 asyncore模块 370
21.4 select 374
21.4.1 高级模块功能 375
21.4.2 高级异步I/O示例 375
21.4.3 异步联网的时机 381
21.5 socket 383
21.5.1 地址族 383
21.5.2 套接字类型 383
21.5.3 寻址 384
21.5.4 函数 385
21.5.5 异常 395
21.5.6 示例 395
21.5.7 注意 396
21.6 ssl 396
21.7 SocketServer 399
21.7.1 处理程序 399
21.7.2 服务器 400
21.7.3 定义自定义服务器 401
21.7.4 自定义应用服务器 403
第22章 Internet应用程序编程 404
22.1 ftplib 404
22.2 http包 407
22.2.1 http.client(httplib) 408
22.2.2 http.server(BaseHTTP-Server,CGIHTTPServer,SimpleHTTP Server) 412
22.2.3 http.cookies(Cookie) 416
22.2.4 http.cookiejar(cookielib) 418
22.3 smtplib 418
22.4 urllib包 419
22.4.1 urllib.request(urllib2) 419
22.4.2 urllib.response 423
22.4.3 urllib.parse 424
22.4.4 urllib.error 426
22.4.5 urllib.robotparser(robotparser) 427
22.4.6 注意 427
22.5 xmlrpc包 427
22.5.1 xmlrpc.client(xmlrpclib) 427
22.5.2 xmlrpc.server(Simple-XMLRPCServer,DocXMLR-PCServer) 430
第23章 Web编程 433
23.1 cgi 435
23.1.1 CGI编程建议 438
23.1.2 注意 439
23.2 cgitb 440
23.3 wsgiref 440
23.3.1 WSGI规范 440
23.3.2 wsgiref包 442
23.4 webbrowser 444
第24章 Internet数据处理和编码 445
24.1 base64 445
24.2 binascii 447
24.3 CSV 447
24.3.1 方言 449
24.3.2 示例 450
24.4 email包 450
24.4.1 解析电子邮件 450
24.4.2 编写电子邮件 453
24.4.3 注意 456
24.5 hashlib 456
24.6 hmac 456
24.7 HTMLParser 457
24.8 json 460
24.9 mimetypes 462
24.10 quopri 463
24.11 xml包 463
24.11.1 XML示例文档 464
24.11.2 xml.dom.minidom 465
24.11.3 xml.etree.ElementTree 467
24.11.4 xml.sax 473
24.11.5 xml.sax.saxutils 476
第25章 其他库模块 477
25.1 Python服务 477
25.2 字符串处理 478
25.3 操作系统模块 478
25.4 网络 478
25.5 Internet数据处理 478
25.6 国际化 479
25.7 多媒体服务 479
25.8 其他 479
第三部分 扩展与嵌入
第26章 扩展与嵌入Python 482
26.1 扩展模块 482
26.1.1 扩展模块原型 484
26.1.2 命名扩展模块 486
26.1.3 编译与打包扩展 486
26.1.4 从Python到C语言的类型转换 488
26.1.5 从C到Python的类型转换 492
26.1.6 给模块添加值 493
26.1.7 错误处理 494
26.1.8 引用计数 495
26.1.9 线程 496
26.2 嵌入Python解释器 496
26.2.1 嵌入模板 497
26.2.2 编译与链接 497
26.2.3 基本的解释器操作与设置 497
26.2.4 在C语言中访问Python 498
26.2.5 将Python对象转换为C对象 499
26.3 ctypes 500
26.3.1 加载共享库 500
26.3.2 外来函数 500
26.3.3 数据类型 501
26.3.4 调用外来函数 502
26.3.5 其他类型构造方法 503
26.3.6 实用工具函数 504
26.3.7 示例 505
26.4 高级扩展与嵌入 506
26.5 Jython和IronPython 507
附录 Python 3 508
《小城》内容简介:《小城》是作者亨利希·曼1909年完成的力作,叙述第一次世界大战前发生在意大利一小城的故事: 某歌剧团应该城律
《信号与系统》采用先时域后变换域的顺序,以对偶和类比的方式逐章逐节、完全并行地讲述连续时间和离散时间信号与系统的一系列基
《设计思维:整合创新、用户体验与品牌价值》是由30位行业专家共同撰写而成的,主要分三部分:为创新、品牌建设而做的设计,一种新
drawingsbyDuaneBibbyforewordandafterwordbyGuyL.SteeleJr.Thenotionthat"thinkingab...
《瑞士银行秘密》内容简介:银行业变革一直是近些年的热点话题。世界很大的离岸金融中心瑞士银行以拥有数百年的保密传统而享有盛誉
XHTML语言是目前最流行的网页制作语言之一。本书通过实例讲解了XHTML语言中各元素及其属性的作用、语法和显示效果。全书内容包括
无线网络需要提供更高的数据速率,而空时处理利用多天线技术和复杂信号处理算法,是改善系统性能的新的强大工具。空时处理技术已
本书是RogerL.Peterson等人合著的经典著作。本书自成体系,内容连贯,由浅入深详细介绍了扩频通信的基本概念、原理和分析方法。内
《数据与计算机通信(第7版)(影印版)》的宗旨是向读者完整地介绍数据与计算机通信这一广阔领域。作者通过书中的章节,将庞大的论题
《温公家范(译注)》内容简介:司马光用“家范”进行命名,其本意是要让这本书成为教家治家的典范、楷模。从内容构成来说,一方面
Excel函数与图表应用技巧500例-(附赠多媒体光盘一张) 本书特色 《Excel函数与图表应用技巧500例(附光盘实用技巧快学速查手册)》由梁为民主编,本书...
社会心理学已经从曾经的边缘地位进入现代心理学的核心,因为它揭示个体机能的心理,丰富我们社会的灵魂。通过严密的实验和实地研
本书作为构建移动应用程序和云服务的实用向导,对于那些渴望利用云服务(例如AmazonWebServices)的强大能力作为支持,为移动设备创
《CSS网页布局创意课》的第1部分,收录了若干网页设计权威专家所著的特写文章,其中涵盖了新的CSS3属性及针对各种屏幕大小进行设
本书首先回顾了与全书其他内容切实相关的UNIX系统内幕。回顾的目的是增进读者对UNIX操作系统概念的了解,并且定义随后使用的术语
《多工位级进模实例精选》内容简介:本书结合现代模具企业对模具设计师的工作要求,以先进、实用、通用为目的。全书分为2篇,每篇各
PhotoshopCS3中文版完全掌握(含CD) 目录 **章Photoshop CS3全面了解本章重点1.1Photoshop的发展历史1.2Photosho...
TheCLOSmetaobjectprotocolisanelegant,high-performanceextensiontotheCommonLispObj...
《三维CAD/CAM》内容简介:结合机械类专业的实际,以够用为度,主要讲述设计模块和加工模块。第一部分为设计模块(即CAD模块),主
BookDescriptionWiththenumberofsecurityflawsandexploitsdiscoveredandreleasedevery...