• 内容提要
  • 中文版序
  • 前言
  • 第1章 项目开始
  • 1.1 Python版本
  • 1.2 项目布局
  • 1.3 版本编号
  • 1.4 编码风格与自动检查
  • 1.5 Joshua Harlow访谈
  • 第2章 模块和库
  • 2.1 导入系统
  • 2.2 标准库
  • 2.3 外部库
  • 2.4 框架
  • 2.5 Doug Hellmann访谈
  • 第3章 管理API变化
  • Christophe de Vienne访谈
  • 第4章 时区陷阱
  • 第5章 文档
  • 5.1 Sphinx和reST入门
  • 5.2 Sphinx模块
  • 5.3 扩展Sphinx
  • 第6章 分发
  • 6.1 简史
  • 6.2 使用pbr打包
  • 6.3 Wheel格式
  • 6.4 包的安装
  • 6.5 和世界分享你的成果
  • 6.6 Nick Coghlan访谈
  • 6.7 入口点
  • 6.7.1 可视化的入口点
  • 6.7.2 使用控制台脚本
  • 6.7.3 使用插件和驱动程序
  • 第7章 虚拟环境
  • 第8章 单元测试
  • 8.1 基础知识
  • 8.2 fixture
  • 8.3 模拟(mocking)
  • 8.4 场景测试
  • 8.5 测试序列与并行
  • 8.6 测试覆盖
  • 8.7 使用虚拟环境和tox
  • 8.8 测试策略
  • 8.9 Robert Collins访谈
  • 第9章 方法和装饰器
  • 9.1 创建装饰器
  • 9.2 Python中方法的运行机制
  • 9.3 静态方法
  • 9.4 类方法
  • 9.5 抽象方法
  • 9.6 混合使用静态方法、类方法和抽象方法
  • 9.7 关于super的真相
  • 第10章 函数式编程
  • 10.1 生成器
  • 10.2 列表推导
  • 10.3 函数式函数的函数化
  • 第11章 抽象语法树
  • 11.1 用抽象语法树检查来扩展flake8
  • 11.2 Hy
  • 11.3 Paul Tagliamonte访谈
  • 第12章 性能与优化
  • 12.1 数据结构
  • 12.2 性能分析
  • 12.3 有序列表和二分查找
  • 12.4 namedtuple和slots
  • 12.5 memoization
  • 12.6 PyPy
  • 12.7 通过缓冲区协议实现零复制
  • 12.8 Victor Stinner访谈
  • 第13章 扩展与架构
  • 13.1 多线程的注意事项
  • 13.2 多进程与多线程
  • 13.3 异步和事件驱动架构
  • 13.4 面向服务架构
  • 第14章 RDBMS和ORM
  • 14.1 用Flask和PostgreSQL流化数据
  • 14.2 Dimitri Fontaine访谈
  • 第15章 Python 3支持策略
  • 15.1 语言和标准库
  • 15.2 外部库
  • 15.3 使用six
  • 第16章 少即是多
  • 16.1 单分发器
  • 16.2 上下文管理器
  • 第17章 延伸阅读
  • 版权信息
  • 版权声明
  • 欢迎来到异步社区!
  • 异步社区的来历
  • 社区里都有什么?
  • 购买图书
  • 下载资源
  • 与作译者互动
  • 灵活优惠的购书
  • 纸电图书组合购买
  • 社区里还可以做什么?
  • 提交勘误
  • 写作
  • 会议活动早知道
  • 加入异步