展开全部

主编推荐语

基于Python3.5讲解,Python项目开发实战指南。

内容简介

本书全面介绍了Python语言的方方面面,不仅为读者介绍了Python语言的基础概念也融入了Python的其他特性的介绍。本书面向任何想要学习Python语言,并使用Python进行应用开发的读者。通过阅读本书,读者将掌握如何构建健壮的应用程序、如何包装和发布软件、如何更好地测试并维护自己的代码及文档等内容。

目录

  • 版权信息
  • 内容提要
  • 作者简介
  • 技术审校者简介
  • 前言
  • 第1章 开发简单应用
  • 1.1 重要提示
  • 1.2 安装的先决条件
  • 1.3 本书的主题
  • 1.4 简单的脚本——兽人之袭v0.0.1
  • 1.4.1 游戏简介——兽人之袭v0.0.1
  • 1.4.2 问题说明
  • 1.4.3 伪代码——0.0.1版本
  • 1.4.4 代码查看
  • 1.4.5 运行兽人之袭v0.0.1
  • 1.5 使用函数——兽人之袭v0.0.5
  • 1.5.1 重新回顾以前的版本
  • 1.5.2 有攻击功能的伪代码——0.0.5版本
  • 1.5.3 代码查看
  • 1.5.4 运行兽人之袭v0.0.5
  • 1.6 使用面向对象编程——兽人之袭v1.0.0
  • 1.6.1 功能需求的优先度
  • 1.6.2 问题说明
  • 1.6.3 重新设计代码
  • 1.6.4 描绘整个场景
  • 1.6.5 代码查看
  • 1.6.6 运行兽人之袭v1.0.0
  • 1.7 Python中的抽象基类
  • 1.8 小结
  • 第2章 异常处理
  • 2.1 修改兽人之袭v1.0.0
  • 2.1.1 问题调试
  • 2.1.2 bug修复中……
  • 2.2 异常
  • 2.2.1 什么是异常
  • 2.2.2 最常见的异常
  • 2.2.3 异常处理
  • 2.2.4 异常的抛出和再抛出
  • 2.2.5 try...except的else代码块
  • 2.2.6 finally...清理吧
  • 2.3 回归游戏——兽人之袭v1.1.0
  • 2.3.1 准备工作
  • 2.3.2 增加异常处理代码
  • 2.3.3 运行兽人之袭v1.1.0
  • 2.4 自定义异常
  • 2.4.1 准备工作
  • 2.4.2 自定义异常——问题所在
  • 2.4.3 编写一个新的异常类
  • 2.4.4 扩展异常类
  • 2.4.5 继承exception类
  • 2.5 练习
  • 2.6 小结
  • 第3章 模块化、打包和部署
  • 3.1 选择一种版本控制规约
  • 3.1.1 连续递增
  • 3.1.2 使用日期格式
  • 3.1.3 语义版本控制方案
  • 3.2 代码模块化
  • 3.3 创建Python包
  • 3.4 在PyPI上发布包
  • 3.4.1 发行版本准备
  • 3.4.2 上传发行版
  • 3.4.3 一条命令完成所有的事情
  • 3.4.4 安装你自己的发行版
  • 3.5 使用私有的PyPI仓库
  • 3.5.1 步骤1——安装pypischmerver
  • 3.5.2 步骤2——创建一个新的源代码发行版
  • 3.5.3 步骤3——启动本地服务器
  • 3.5.4 步骤4——安装私有发行版
  • 3.6 创建增量发布
  • 3.6.1 打包并上传新版本
  • 3.6.2 升级已经安装的版本
  • 3.7 代码的版本控制
  • 3.7.1 Git资源
  • 3.7.2 安装Git
  • 3.7.3 配置你的验证信息
  • 3.7.4 Git基础术语
  • 3.7.5 创建并使用本地仓库
  • 3.8 使用Git的GUI客户端
  • 3.9 练习
  • 3.10 小结
  • 第4章 代码文档和最佳实践
  • 4.1 编写代码文档
  • 4.1.1 文档字符串
  • 4.1.2 reStructuredText简介
  • 4.1.3 使用RST的文档字符串
  • 4.1.4 文档字符串格式化风格
  • 4.1.5 自动生成文档字符串stubs
  • 4.1.6 使用Sphinx生成文档
  • 4.2 Python编码标准
  • 4.3 代码分析——我们做得怎么样呢
  • 4.3.1 使用IDE进行代码分析
  • 4.3.2 Pylint
  • 4.4 练习
  • 4.5 小结
  • 第5章 单元测试和重构
  • 5.1 本章的组织方式
  • 5.2 为何要进行测试
  • 5.2.1 提出了一个新的需求
  • 5.2.2 你实现了这个功能
  • 5.2.3 但是有些事情似乎不对了……
  • 5.2.4 它需要完全测试
  • 5.3 单元测试
  • 5.4 为应用程序编写单元测试
  • 5.4.1 创建测试包
  • 5.4.2 为单元测试创建新的类
  • 5.4.3 第1个单元测试——受伤方的选择
  • 5.4.4 运行第1个单元测试
  • 5.4.5 第2个单元测试——占领木屋
  • 5.4.6 创建自己的测试模块
  • 5.4.7 批量执行单元测试
  • 5.5 使用模拟库的单元测试
  • 5.5.1 Mock的简介
  • 5.5.2 让我们开始Mock吧
  • 5.5.3 在单元测试中使用Mock对象
  • 5.5.4 使用补丁
  • 5.5.5 第3个单元测试——play方法
  • 5.6 你的代码被覆盖到了吗
  • 5.7 其他单元测试工具
  • 5.7.1 Doctest
  • 5.7.2 Nose
  • 5.7.3 Pytest
  • 5.8 重构的前导
  • 5.9 重构
  • 5.9.1 什么是重构
  • 5.9.2 为什么要进行重构
  • 5.9.3 何时进行重构
  • 5.9.4 如何进行重构
  • 5.9.5 移动
  • 5.10 重新审视单元测试
  • 5.10.1 可测试化重构
  • 5.10.2 第4个单元测试——setup_game_scenario
  • 5.11 练习
  • 5.12 小结
  • 第6章 设计模式
  • 6.1 设计模式的介绍
  • 6.2 Python语言和设计模式
  • 6.2.1 一级函数
  • 6.2.2 类作为一级对象
  • 6.2.3 闭包
  • 6.2.4 各种特性
  • 6.2.5 鸭子类型
  • 6.3 本章余下内容的结构
  • 6.4 快进——兽人之袭 v6.0.0
  • 6.5 策略模式
  • 6.5.1 策略场景——跳跃特性
  • 6.5.2 策略——主要的问题
  • 6.5.3 策略——尝试解决方案
  • 6.5.4 策略——重新考虑设计
  • 6.5.5 策略方案1——传统方法
  • 6.5.6 策略方案2——Python方法
  • 6.6 简单工厂
  • 6.6.1 简单工厂场景——招募特性
  • 6.6.2 简单工厂——主要的问题
  • 6.6.3 简单工厂——重新考虑设计
  • 6.6.4 简单工厂方案1——传统方法
  • 6.6.5 简单工厂方案2——Python方法
  • 6.7 抽象工厂模式
  • 6.7.1 抽象工厂场景——饰品店
  • 6.7.2 抽象工厂——主要的问题
  • 6.7.3 抽象工厂——重新考虑设计
  • 6.7.4 抽象工厂方案——Python方法
  • 6.8 适配器模式
  • 6.8.1 适配器模型——精灵的远房亲戚
  • 6.8.2 适配器——主要的问题
  • 6.8.3 适配器——尝试解决方案
  • 6.8.4 适配器解决方案——Python方法
  • 6.9 小结
  • 第7章 性能——识别瓶颈
  • 7.1 关于性能的三章概览
  • 7.1.1 更注重运行时的性能
  • 7.1.2 关于性能的第1个章
  • 7.1.3 关于性能的第2个章
  • 7.1.4 关于性能的第3个章
  • 7.1.5 看一下应用性能提升
  • 7.2 游戏场景——寻找黄金
  • 7.2.1 顶层算法
  • 7.2.2 查看最初的代码
  • 7.2.3 运行代码
  • 7.3 主要的问题
  • 7.4 识别瓶颈
  • 7.4.1 衡量执行时间
  • 7.4.2 监测代码片段的运行时间
  • 7.4.3 代码分析
  • 7.5 内存分析
  • 7.6 算法效率和复杂度
  • 7.6.1 算法效率
  • 7.6.2 算法复杂度
  • 7.7 大O符号
  • 7.8 小结
  • 第8章 性能优化1
  • 8.1 本章的前提
  • 8.2 本章的组织方式
  • 8.3 回顾“寻找黄金”的场景
  • 8.3.1 选择问题的数据大小
  • 8.3.2 分析最初的代码
  • 8.4 优化“寻找黄金”——第1部分
  • 8.4.1 调整算法——平方根
  • 8.4.2 跳过点操作符
  • 8.4.3 使用本地范围
  • 8.5 性能优化的一些事项
  • 8.5.1 列表推导式
  • 8.5.2 记录执行时间
  • 8.5.3 字典推导式
  • 8.5.4 交换条件块和for循环
  • 8.5.5 在循环中使用try语句
  • 8.5.6 选择正确的数据结构
  • 8.5.7 collections模块
  • 8.5.8 生成器和生成器表达式
  • 8.5.9 itertools模块
  • 8.6 练习
  • 8.7 小结
  • 第9章 性能优化2——NumPy和并行化
  • 9.1 本章的先决条件
  • 9.2 本章的组织方式
  • 9.3 NumPy的简介
  • 9.3.1 安装NumPy
  • 9.3.2 创建数组对象
  • 9.3.3 简单的数组操作
  • 9.3.4 数组切割和索引
  • 9.3.5 广播
  • 9.3.6 其他功能
  • 9.3.7 从哪里能获得更多关于NumPy的信息
  • 9.4 优化“寻找黄金”——第2部分
  • 9.4.1 “寻找黄金”优化——优化四
  • 9.4.2 “寻找黄金”优化——优化五
  • 9.5 使用multiprocessing模块的并行化
  • 9.5.1 并行化简介
  • 9.5.2 全局解释器锁
  • 9.5.3 multiprocessing模块
  • 9.6 “寻找黄金”程序并行化
  • 9.6.1 重访黄金领地
  • 9.6.2 “寻找黄金”优化——优化六,并行化
  • 9.7 进一步阅读
  • 9.8 小结
  • 第10章 简单的图形应用程序
  • 10.1 GUI框架概述
  • 10.1.1 Tkinter
  • 10.1.2 PyQt
  • 10.1.3 PySide
  • 10.1.4 Kivy
  • 10.1.5 wxPython
  • 10.2 GUI编程设计注意事项
  • 10.2.1 了解用户的需求
  • 10.2.2 开发用户故事
  • 10.2.3 简单性和可访问性
  • 10.2.4 一致性
  • 10.2.5 可预测性和熟悉性
  • 10.2.6 其他设计考虑
  • 10.3 事件驱动编程
  • 10.3.1 事件
  • 10.3.2 事件处理
  • 10.3.3 事件循环
  • 10.4 使用Tkinter进行GUI编程
  • 10.4.1 Tkinter的文件链接
  • 10.4.2 Tkinter中的mainloop()
  • 10.4.3 简单GUI应用程序——第1步
  • 10.4.4 简单GUI应用程序——第2步
  • 10.4.5 Tkinter中的GUI控件
  • 10.4.6 布局管理
  • 10.4.7 Tkinter中的事件
  • 10.4.8 Tkinter中的事件处理
  • 10.5 项目1——兽人之袭v10.0.0
  • 10.5.1 游戏场景
  • 10.5.2 问题声明
  • 10.5.3 编写代码
  • 10.5.4 运行应用程序
  • 10.6 MVC架构
  • 10.6.1 模型
  • 10.6.2 视图
  • 10.6.3 控制器
  • 10.6.4 MVC的好处
  • 10.7 项目2——兽人之袭v10.1.0
  • 10.7.1 重新修改HutGame类
  • 10.7.2 创建MVC类
  • 10.7.3 MVC对象间的通信
  • 10.7.4 查看代码
  • 10.7.5 Model类
  • 10.7.6 View类
  • 10.7.7 运行应用程序
  • 10.8 测试GUI应用程序
  • 10.9 练习
  • 10.10 扩展阅读
  • 10.11 小结
展开全部

评分及书评

评分不足
2个评分
  • 用户头像
    给这本书评了
    3.0
    如何写出工程化、产品化的Python代码

    1. 这本书不适合 Python 初学者作为入门读物,它更注重展示如何写出高质量的、工程化的 Python 程序。


    2. 一个简单的骑士打怪小游戏贯穿全书,通过需求的不断变化,展示如何利用 Python 的特性和工具模块完成需要的功能,同时不失趣味性。
    3. 本书的特色是不局限于 Python 语言特性的应用,还包含了工程化、产品化实践的内容,比如 Python 模块的打包和发布、文档的规范、单元测试的设计方法、设计模式和重构在软件迭代中应用、性能优化主题以及可视化 GUI 编程。
    4. 依然建议从头到尾跟着作者敲一遍代码,体会从一个应用是如何从简单的命令行程序逐渐演化为一个高质量、高性能的可视化应用程序。在具体的实践中,我们自然可以体会到 Python 丰富的特性和工具在哪些场合是有用的,且具体效果有多大。
    5. 个人比较喜欢性能优化的章节,作者从若干角度分析了哪些因素可能影响 Python 程序的性能,并利用分析工具提供数据支撑,最后给出高效的解决方案。
    6. 当然,你不能指望通过这本书获得构建大型 Python 应用程序的实践经验,不过这可以作为一个起点,帮助你继续探索 Python 的丰富和强大。

      转发
      评论

    出版方

    人民邮电出版社

    人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。