本书是权威的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
《JavaScript框架设计》内容简介:本书是一本全面讲解JavaScript框架设计的图书,详细地讲解了设计框架需要具备的知识,主要包括的
本书是由40多位国外游戏开发行业最为优秀的程序员撰稿的技术文集。每篇文章都针对游戏编程中的某个特定问题,不仅提供了解决思路
当“设计”和“创意”成为时尚的时候,终于有人出来提醒“被设计”的“原罪”。从辨析Design中译的含义到回应霍金《大设计》的思
《神经网络理论与MATLABR2007实现》是“MATLAB应用技术”系列丛书之一,以最新推出的MATLAB7中的神经网络工具箱4.0.3版本为基础。
Office2016办公专家 从入门到精通 本书特色 office已是当今应用*广泛的办公软件套装之一,熟练使用office也成为职场人士**的职业素养。本书以...
本书提供了关于iPhoneSDK以及iPhone开发的全面信息,对iPhoneSDK中的各种组件做了深入浅出的介绍,包括iPhone3.0SDK的所有新增特
《量子思维:探寻生命觉醒之旅》内容简介:本书把生命、意识乃至社会进化史当作一个觉醒过程,以东西方结合的特殊视角,采用“从顶
ArcGIS 9地理信息系统应用与实践-(上.下册) 内容简介 地理信息系统软件ArcGIS以其强大的功能体系和全方位的技术支持逐渐成为中国地理信息界用户群体*...
Astep-by-stepguidetobuildingPHPwebsitesandapplicationsusingtheSmartytemplatingen...
《坚守战地1200天》内容简介:本书收录了大量珍贵的采访资料和精彩的战地照片,为了解党报驻外记者的特殊工作,把脉中东时局的历史
《人文日新》内容简介:本书致力于帮助学生积累文学知识,增强文学感悟力,提升文学趣味,提高文学素养。在传统的诗歌、散文、戏剧
SmashingCSStakesyouwellbeyondthebasics,coveringnotonlythefinerpointsoflayoutande...
《LTE轻松进阶》以说故事讲原理的方式介绍LTE技术原理。内容按照从总体到细节、从原理到实践的顺序提纲挈领地介绍LTE无线侧工程师
本书是日本东京吉祥寺人气生活杂货店老板,从他生活中实际使用的物品,严选170件既实用又具美感的经典好设计而集结而成。里头有的
《职工代表大会实务操作与法律依据》内容简介:针对当前企事业单位民主管理制度职工代表大会召开中经常遇到的问题,按照由宏观到微
《表达力》内容简介:在职场人微言轻,说话没有人听怎么办? 面对人群发言,感到非常紧张如何缓解? 如何用语言抓住别人的注意力,
Weallwantpeopletodostuff.Whetheryouwantyourcustomerstobuyfromyou,vendorstogiveyo...
计算机急剧改变了20世纪的生活。今天,我们凭借遍及全球的计算机网络加速了过去以广播、报纸和电视形式进行的交流。思想风驰电掣
《Web渗透技术及实战案例解析》从Web渗透的专业角度,结合网络安全中的实际案例,图文并茂地再现Web渗透的精彩过程。《Web渗透技
五笔打字案例教程 本书特色 《五笔打字案例教程(计算机十二五规划教材)》由钱亚文、李奇、郭燕主编,全书共分5个项目,内容涵盖键盘的基本操作方法、正确的打字姿势与...