本书是权威的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
《学习书法的十三个问题》内容简介:本书是近现代著名书法家启功先生对书法学习中常见问题的专题讲解,包括:迷信由于误解、字形结
Python绝技-运用Python成为顶级黑客 本书特色 python是一门常用的编程语言,它不仅上手容易,而且还拥有丰富的支持库。对经常需要针对自己所处的特定...
黑客与画家 本书特色 世界上一个互联网应用程序Viaweb开发者举世公认的互联网创业Paul Graham的文集!Paul Graham带领我们探究黑客的世界,...
《我为什么自己的书一本没写》内容简介:一本挑战悖论的不可能之书。乌力波文学经典。法国黑色幽默文学大奖获奖作品。幽默解剖写作
《包豪斯:大师和学生们》由弗兰克•惠特福德等所著,以时间为主线,通过在包豪斯学习和工作过的大师级人物的视角,精心梳理了包豪
《物联网项目实战》内容简介:《物联网项目实战基于Android Things系统》介绍如何使用Android Things完成实际的物联网项目,主要内
Photoshop CS5数码照片处理从入门到精通-(全彩超值版)-(含1DVD) 本书特色 1张dvd光盘超值教学视频,素材和*终文件时长超过425分钟书中9...
新编中文版Photoshop CS6标准教程-(含1CD) 本书特色 Photoshop是由Adobe公司开发的图形图像软件,它是一款功能强大、使用范围广泛的图...
《新旧之间》内容简介:本书以《樊山政书》所反映的清末法制变革中樊增祥任藩、臬两司的司法公文为研究对象,围绕转型时期的“变”
InDecember2009,Googlebegancustomizingitssearchresultsforeachuser.Insteadofgiving...
《电商战略》内容简介:要么被趋势打败,要么顺势而为。在互联网+时代,传统企业转型互联网是大势所趋。本书是传统企业及时代下的个
本书由国际著名设计大师EllenLupton出品,是一本以产品案例的展示和分析为主的图文并茂的工业设计类图书。全书篇幅虽然不长,但却
Photoshop专业抠图技法 本书特色 抠什么都不怕!半透明、不透明、动物、植物、人物,《Photoshop专业抠图技法》搞定一切图,绝对超高速。深入剖析了选...
Java JDK 7实例宝典 本书特色 为了帮助更多的Java开发人员提高开发技巧,掌握*新的Java特性,笔者韩雪、郭天娇精心编著了这本《Java JDK7实...
《中国政党学说文献汇编(第三卷)》内容简介:第三卷收集的是1930—1949年间中国政党理论的文献资料。以编者查阅的国内报刊篇章、
《gRPC与云原生应用开发:以Go和Java为例》内容简介:本书全面介绍了gRPC,可作为终极指南,用于gRPC应用程序开发周期的各个阶段。
C.NET程序设计 本书特色 《C#.NET程序设计》:教材特色这是一本为高职高专学生量身定做的计算机类专业的项目课程教材。 任务引领本教材以任务为载体,将知识...
简言之,是一个人和一本杂志的传奇……放在大环境中,是一个时代的跌宕起伏……一直大力地向所有人推荐这本书,只是因为,故事真
《成人教育服务乡村振兴的实践研究》内容简介:本书旨在对国家乡村振兴战略文件深度解读的基础上,调研并提炼近年来宁波市成人教育
《员工!加油!》内容简介:人生只有时常加油,才有生命的灿烂!越是困难,越是危机时刻,我们越应该加油!珍惜你的工作,珍惜你的