当前位置:首页 > 工业技术
Python应用开发实战
Python应用开发实战

Python应用开发实战PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:(美)尼纳德·萨斯叶著;包永帅,齐兆慧译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2018
  • ISBN:9787115477576
  • 页数:320 页
图书介绍:本书全面介绍了Python语言的方方面面,不仅为读者介绍了Python语言的基础概念也融入了Python的其他特性的介绍。本书面向任何想要学习Python语言,并使用Python进行应用开发的读者。通过阅读本书,读者将掌握如何构建健壮的应用程序、如何包装和发布软件、如何更好地测试并维护自己的代码及文档等内容。
《Python应用开发实战》目录

第1章 开发简单应用 1

1.1 重要提示 2

1.2 安装的先决条件 2

1.3 本书的主题 7

1.4 简单的脚本——兽人之袭v0.0.1 9

1.4.1 游戏简介——兽人之袭v0.0.1 9

1.4.2 问题说明 10

1.4.3 伪代码——0.0.1版本 10

1.4.4 代码查看 11

1.4.5 运行兽人之袭v0.0.1 13

1.5 使用函数——兽人之袭v0.0.5 14

1.5.1 重新回顾以前的版本 15

1.5.2 有攻击功能的伪代码——0.0.5版本 17

1.5.3 代码查看 19

1.5.4 运行兽人之袭v0.0.5 21

1.6 使用面向对象编程——兽人之袭v1.0.0 21

1.6.1 功能需求的优先度 23

1.6.2 问题说明 23

1.6.3 重新设计代码 24

1.6.4 描绘整个场景 24

1.6.5 代码查看 27

1.6.6 运行兽人之袭v1.0.0 31

1.7 Python中的抽象基类 31

1.8 小结 33

第2章 异常处理 35

2.1 修改兽人之袭v1.0.0 35

2.1.1 问题调试 36

2.1.2 bug修复中 37

2.2 异常 38

2.2.1 什么是异常 38

2.2.2 最常见的异常 38

2.2.3 异常处理 39

2.2.4 异常的抛出和再抛出 41

2.2.5 try...except的else代码块 42

2.2.6 finally...清理吧 43

2.3 回归游戏——兽人之袭v 1.1.0 44

2.3.1 准备工作 44

2.3.2 增加异常处理代码 45

2.3.3 运行兽人之袭v 1.1.0 46

2.4 自定义异常 47

2.4.1 准备工作 47

2.4.2 自定义异常——问题所在 48

2.4.3 编写一个新的异常类 49

2.4.4 扩展异常类 50

2.4.5 继承exception类 52

2.5 练习 54

2.6 小结 55

第3章 模块化、打包和部署 56

3.1 选择一种版本控制规约 57

3.1.1 连续递增 57

3.1.2 使用日期格式 58

3.1.3 语义版本控制方案 58

3.2 代码模块化 59

3.3 创建Python包 61

3.4 在PyPI上发布包 63

3.4.1 发行版本准备 64

3.4.2 上传发行版 68

3.4.3 一条命令完成所有的事情 72

3.4.4 安装你自己的发行版 72

3.5 使用私有的PyPI仓库 74

3.5.1 步骤1——安装pypiserver 74

3.5.2 步骤2——创建一个新的源代码发行版 74

3.5.3 步骤3——启动本地服务器 75

3.5.4 步骤4——安装私有发行版 75

3.6 创建增量发布 76

3.6.1 打包并上传新版本 76

3.6.2 升级已经安装的版本 76

3.7 代码的版本控制 77

3.7.1 Git资源 77

3.7.2 安装Git 77

3.7.3 配置你的验证信息 78

3.7.4 Git基础术语 78

3.7.5 创建并使用本地仓库 78

3.8 使用Git的GUI客户端 82

3.9 练习 82

3.10 小结 83

第4章 代码文档和最佳实践 84

4.1 编写代码文档 85

4.1.1 文档字符串 86

4.1.2 reStructuredText简介 87

4.1.3 使用RST的文档字符串 90

4.1.4 文档字符串格式化风格 92

4.1.5 自动生成文档字符串stubs 93

4.1.6 使用Sphinx生成文档 95

4.2 Python编码标准 101

4.3 代码分析——我们做得怎么样呢 103

4.3.1 使用IDE进行代码分析 103

4.3.2 Pylint 104

4.4 练习 108

4.5 小结 108

第5章 单元测试和重构 109

5.1 本章的组织方式 109

5.2 为何要进行测试 110

5.2.1 提出了一个新的需求 110

5.2.2 你实现了这个功能 111

5.2.3 但是有些事情似乎不对了 112

5.2.4 它需要完全测试 113

5.3 单元测试 113

5.4 为应用程序编写单元测试 119

5.4.1 创建测试包 119

5.4.2 为单元测试创建新的类 120

5.4.3 第1个单元测试——受伤方的选择 121

5.4.4 运行第1个单元测试 122

5.4.5 第2个单元测试——占领木屋 122

5.4.6 创建自己的测试模块 125

5.4.7 批量执行单元测试 125

5.5 使用模拟库的单元测试 126

5.5.1 Mock的简介 126

5.5.2 让我们开始Mock吧 127

5.5.3 在单元测试中使用Mock对象 129

5.5.4 使用补丁 131

5.5.5 第3个单元测试——play方法 133

5.6 你的代码被覆盖到了吗 137

5.7 其他单元测试工具 139

5.7.1 Doctest 139

5.7.2 Nose 139

5.7.3 Pytest 140

5.8 重构的前导 140

5.9 重构 142

5.9.1 什么是重构 143

5.9.2 为什么要进行重构 143

5.9.3 何时进行重构 143

5.9.4 如何进行重构 144

5.9.5 移动 146

5.10 重新审视单元测试 148

5.10.1 可测试化重构 148

5.10.2 第4个单元测试——setup_game_ scenario 150

5.11 练习 150

5.12 小结 151

第6章 设计模式 152

6.1 设计模式的介绍 152

6.2 Python语言和设计模式 154

6.2.1 一级函数 155

6.2.2 类作为一级对象 155

6.2.3 闭包 156

6.2.4 各种特性 157

6.2.5 鸭子类型 158

6.3 本章余下内容的结构 159

6.4 快进——兽人之袭v6.0.0 160

6.5 策略模式 162

6.5.1 策略场景——跳跃特性 162

6.5.2 策略——主要的问题 163

6.5.3 策略——尝试解决方案 164

6.5.4 策略——重新考虑设计 166

6.5.5 策略方案1——传统方法 167

6.5.6 策略方案2——Python方法 170

6.6 简单工厂 172

6.6.1 简单工厂场景——招募特性 172

6.6.2 简单工厂——主要的问题 173

6.6.3 简单工厂——重新考虑设计 174

6.6.4 简单工厂方案1——传统方法 175

6.6.5 简单工厂方案2——Python方法 176

6.7 抽象工厂模式 178

6.7.1 抽象工厂场景——饰品店 179

6.7.2 抽象工厂——主要的问题 182

6.7.3 抽象工厂——重新考虑设计 182

6.7.4 抽象工厂方案——Python方法 184

6.8 适配器模式 186

6.8.1 适配器模型——精灵的远房亲戚 187

6.8.2 适配器——主要的问题 187

6.8.3 适配器——尝试解决方案 188

6.8.4 适配器解决方案——Python方法 189

6.9 小结 192

第7章 性能——识别瓶颈 193

7.1 关于性能的三章 概览 193

7.1.1 更注重运行时的性能 193

7.1.2 关于性能的第1个章 194

7.1.3 关于性能的第2个章 194

7.1.4 关于性能的第3个章 194

7.1.5 看一下应用性能提升 194

7.2 游戏场景——寻找黄金 195

7.2.1 顶层算法 197

7.2.2 查看最初的代码 198

7.2.3 运行代码 200

7.3 主要的问题 201

7.4 识别瓶颈 202

7.4.1 衡量执行时间 202

7.4.2 监测代码片段的运行时间 203

7.4.3 代码分析 204

7.5 内存分析 210

7.6 算法效率和复杂度 212

7.6.1 算法效率 212

7.6.2 算法复杂度 212

7.7 大O符号 212

7.8 小结 219

第8章 性能优化1 220

8.1 本章的前提 221

8.2 本章的组织方式 221

8.3 回顾“寻找黄金”的场景 222

8.3.1 选择问题的数据大小 222

8.3.2 分析最初的代码 222

8.4 优化“寻找黄金”——第1部分 223

8.4.1 调整算法——平方根 223

8.4.2 跳过点操作符 226

8.4.3 使用本地范围 228

8.5 性能优化的一些事项 230

8.5.1 列表推导式 231

8.5.2 记录执行时间 232

8.5.3 字典推导式 233

8.5.4 交换条件块和for循环 233

8.5.5 在循环中使用try语句 234

8.5.6 选择正确的数据结构 235

8.5.7 collections模块 236

8.5.8 生成器和生成器表达式 239

8.5.9 itertools模块 243

8.6 练习 245

8.7 小结 245

第9章 性能优化2——NumPy和并行化 246

9.1 本章的先决条件 246

9.2 本章的组织方式 246

9.3 NumPy的简介 247

9.3.1 安装NumPy 248

9.3.2 创建数组对象 248

9.3.3 简单的数组操作 249

9.3.4 数组切割和索引 250

9.3.5 广播 252

9.3.6 其他功能 253

9.3.7 从哪里能获得更多关于NumPy的信息 259

9.4 优化“寻找黄金”——第2部分 260

9.4.1 “寻找黄金”优化——优化四 260

9.4.2 “寻找黄金”优化——优化五 262

9.5 使用multiprocessing模块的并行化 265

9.5.1 并行化简介 265

9.5.2 全局解释器锁 266

9.5.3 multiprocessing模块 266

9.6 “寻找黄金”程序并行化 269

9.6.1 重访黄金领地 269

9.6.2 “寻找黄金”优化——优化六,并行化 271

9.7 进一步阅读 275

9.8 小结 276

第10章 简单的图形应用程序 278

10.1 GUI框架概述 279

10.1.1 Tkinter 279

10.1.2 PyQt 279

10.1.3 PySide 280

10.1.4 Kivy 280

10.1.5 wxPython 280

10.2 GUI编程设计注意事项 280

10.2.1 了解用户的需求 281

10.2.2 开发用户故事 281

10.2.3 简单性和可访问性 281

10.2.4 一致性 282

10.2.5 可预测性和熟悉性 282

10.2.6 其他设计考虑 282

10.3 事件驱动编程 282

10.3.1 事件 283

10.3.2 事件处理 283

10.3.3 事件循环 283

10.4 使用Tkinter进行GUI编程 283

10.4.1 Tkinter的文件链接 284

10.4.2 Tkinter中的mainloop() 284

10.4.3 简单GUI应用程序——第1步 285

10.4.4 简单GUI应用程序——第2步 287

10.4.5 Tkinter中的 GUI控件 288

10.4.6 布局管理 290

10.4.7 Tkinter中的事件 292

10.4.8 Tkinter中的事件处理 294

10.5 项目1——兽人之袭v 10.0.0 296

10.5.1 游戏场景 296

10.5.2 问题声明 296

10.5.3 编写代码 297

10.5.4 运行应用程序 303

10.6 MVC架构 304

10.6.1 模型 305

10.6.2 视图 305

10.6.3 控制器 305

10.6.4 MVC的好处 306

10.7 项目2——兽人之袭v 10.1.0 306

10.7.1 重新修改HutGame类 306

10.7.2 创建MVC类 307

10.7.3 MVC对象间的通信 308

10.7.4 查看代码 312

10.7.5 Model类 313

10.7.6 View类 314

10.7.7 运行应用程序 315

10.8 测试GUI应用程序 315

10.9 练习 317

10.10 扩展阅读 318

10.11 小结 320

相关图书
作者其它书籍
返回顶部