科技
类型
7.3
豆瓣评分
可以朗读
语音朗读
184千字
字数
2018-06-01
发行日期
展开全部
主编推荐语
基于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 小结
展开全部
出版方
人民邮电出版社
人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。