文件名称:Python参考手册(第4版)
文件大小:26.74MB
文件格式:PDF
更新时间:2018-11-29 16:08:14
python
Python参考手册(第4版) 第一部分 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