新書推薦:
《
家书中的百年史
》
售價:HK$
79.4
《
偏爱月亮
》
售價:HK$
45.8
《
生物安全与环境
》
售價:HK$
56.4
《
泥土:文明的侵蚀(城市与生态文明丛书)
》
售價:HK$
84.0
《
医用化学(第三版)
》
售價:HK$
57.3
《
别怕,试一试
》
售價:HK$
67.9
《
人才基因(凝聚30年人才培育经验与智慧)
》
售價:HK$
103.4
《
深度学习详解
》
售價:HK$
114.8
內容簡介:
本书是Python编程语言的杰出参考手册,书中详尽讲解了Python核心和Python库中重要的部分。全书分为三个部分,首部分涉及类型与对象,运算符与表达式,程序结构与控制流,函数与函数式编程,类与面向对象编程,模块、包与分发,输入与输出,测试、调试、探查与调优等与Python语言相关的内容;第二部分涉及内置函数和异常、运行时服务、数学运算、数据结构、算法与代码优化,字符串和文本处理,数据库访问,文件和目录处理,操作系统服务,线程与并发,网络编程与套接字,网络应用程序编程,Web编程,网络数据处理和编码、其他库模块等与Python库相关的内容;第三部分涉及扩展和嵌入Python等内容。此外,书中还包括一些Python官方文档或其他参考资料中未提及的高级主题。
關於作者:
David M. Beazley 早在1996 年就开始使用Python 编程。在洛斯阿拉莫斯国家实验室工作期间,他教会很多志愿者用Python 编写科学计算软件。他创办的Dabeaz 公司提供软件开发、培训和咨询服务,专注于Python、Ruby、Perl 等动态编程语言的实际应用。他是Python 软件基金会的会员。
目錄 :
目录 第一部分 Python语言 第1章 Python简介2 1.1 运行Python2 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 表示程序结构的内置类型38 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 对象检查与dir51 第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 作用域规则78 6.4 作为对象与闭包的函数79 6.5 装饰器82 6.6 生成器与yield83 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 IO137 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_builtins176 第13章 Python运行时服务178 13.1 atexit178 13.2 copy178 13.3 gc179 13.4 inspect180 13.5 marshal183 13.6 pickle184 13.7 SYS186 13.7.1 变量186 13.7.2 函数189 13.8 traceback191 13.9 types192 13.10 warnings193 13.11 weakref195 13.11.1 示例196 13.11.2 注意196 第14章 数学运算197 14.1 decimal197 14.1.1 Decimal对象197 14.1.2 Context对象198 14.1.3 函数和常量200 14.1.4 示例201 14.1.5 注意202 14.2 fractions203 14.3 math204 14.4 numbers205 14.5 random206 14.5.1 种子和初始化206 14.5.2 随机整数206 14.5.3 随机序列207 14.5.4 实值随机分布207 14.5.5 注意208 第15章 数据结构、算法与代码简化209 15.1 abc209 15.2 array210 15.3 bisect212 15.4 collections213 15.4.1 deque和defaultdict213 15.4.2 命名元组214 15.4.3 抽象基类216 15.5 contextlib217 15.6 functools218 15.7 heapq219 15.8 itertools220 15.9 operator222 第16章 字符串和文本处理225 16.1 codecs225 16.1.1 低级codecs接口225 16.1.2 IO相关函数226 16.1.3 有用的常量227 16.1.4 标准编码227 16.1.5 注意228 16.2 re228 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 string233 16.3.1 常量233 16.3.2 Formatter对象233 16.3.3 Template字符串235 16.3.4 实用工具函数235 16.4 struct235 16.4.1 打包和解包函数236 16.4.2 Struct对象236 16.4.3 格式编码236 16.4.4 注意237 16.5 unicodedata238 第17章 Python数据库访问241 17.1 关系数据库API规范241 17.1.1 连接241 17.1.2 Cursor242 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 bz2254 18.2 filecmp255 18.3 fnmatch256 18.4 glob257 18.5 gzip257 18.6 shutil258 18.7 tarfile259 18.7.1 异常261 18.7.2 示例262 18.8 tempfile262 18.9 zipfile263 18.10 zlib266 第19章 操作系统服务268 19.1 Commands268 19.2 ConfigParser、configparser269 19.2.1 ConfigParser类269 19.2.2 示例270 19.2.3 注意272 19.3 datetime272 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 errno278 19.4.1 POSIX错误代码278 19.4.2 Windows错误代码279 19.5 fcntl280 19.5.1 示例281 19.5.2 注意281 19.6 io282 19.6.1 基本IO接口282 19.6.2 原始IO282 19.6.3 缓存二进制IO283 19.6.4 文本IO285 19.6.5 open函数285 19.6.6 抽象基类286 19.7 logging286 19.7.1 日志记录级别286 19.7.2 基本配置286 19.7.3 Logger对象288 19.7.4 处理器对象292 19.7.5 消息格式化294 19.7.6 各种实用工具函数296 19.7.7 日志记录配置296 19.7.8 性能考虑299 19.7.9 注意299 19.8 mmap299 19.9 msvcrt301 19.10 optparse303 19.10.1 例子305 19.10.2 注意306 19.11 os307 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.path321 19.13 signal323 19.13.1 例子325 19.13.2 注意325 19.14 subprocess325 19.14.1 例子327 19.14.2 注意328 19.15 time328 19.16 winreg330 第20章 线程与并发334 20.1 基本概念334 20.2 并发编程与Python335 20.3 multiprocessing336 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 threading354 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 使用Lock359 20.4.9 线程终止与挂起360 20.4.10 实用工具函数361 20.4.11 全局解释器锁361 20.4.12 使用线程编程361 20.5 queue、Queue362 20.6 协程与微线程364 第21章 网络编程和套接字365 21.1 网络编程基础365 21.2 asynchat模块367 21.3 asyncore模块370 21.4 select374 21.4.1 高级模块功能375 21.4.2 高级异步IO示例375 21.4.3 异步联网的时机381 21.5 socket383 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 ssl396 21.7 SocketServer399 21.7.1 处理程序399 21.7.2 服务器400 21.7.3 定义自定义服务器401 21.7.4 自定义应用服务器403 第22章 网络应用程序编程404 22.1 ftplib404 22.2 http包407 22.2.1 http.client(httplib)408 22.2.2 http.server(BaseHTTPServer、CGIHTTPServer和SimpleHTTP Server)412 22.2.3 http.cookies(Cookie)416 22.2.4 http.cookiejar(cookielib)418 22.3 smtplib418 22.4 urllib包419 22.4.1 urllib.request(urllib2)419 22.4.2 urllib.response423 22.4.3 urllib.parse424 22.4.4 urllib.error426 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(SimpleXMLRPCServer和DocXMLRPCServer)430 第23章 Web编程433 23.1 cgi435 23.1.1 CGI编程建议438 23.1.2 注意439 23.2 cgitb440 23.3 wsgiref440 23.3.1 WSGI规范440 23.3.2 wsgiref包442 23.4 webbrowser444 第24章 网络数据处理和编码445 24.1 base64445 24.2 binascii447 24.3 CSV447 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 hashlib456 24.6 hmac456 24.7 HTMLParser458 24.8 json460 24.9 mimetypes462 24.10 quopri463 24.11 xml包463 24.11.1 XML示例文档464 24.11.2 xml.dom.minidom465 24.11.3 xml.etree.ElementTree468 24.11.4 xml.sax474 24.11.5 xml.sax.saxutils476 第25章 其他库模块477 25.1 Python服务477 25.2 字符串处理478 25.3 操作系统模块478 25.4 网络478 25.5 网络数据处理478 25.6 国际化478 25.7 多媒体服务479 25.8 其他479 第三部分 扩展与嵌入 第26章 扩展与嵌入Python482 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语言中访问Python498 26.2.5 将Python对象转换为C对象499 26.3 ctypes500 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和IronPython507 附录 Python 3508