当前位置:主页 > 计算机电子书 > Python > Python下载
Python应用开发实战

Python应用开发实战 PDF 超清版

  • 更新:2021-03-08
  • 大小:40.06MB
  • 类别:Python
  • 作者:尼纳德·萨斯叶
  • 出版:人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

Python应用开发实战

出版时间: 2018

Python是使用较多的动态编程语言之一,应用广泛,学习者众多。本书使用一个生动有趣的、基于文本的游戏主题作为讲解内容来介绍Python应用开发过程的各个方面。全书共10章,涉及简单应用开发、模块化、打包和发布应用的代码、文档规范、单元测试、重构、设计模式、性能监测、性能优化、GUI应用、MVC框架等方方面面的软件开发知识和技能。本书适合有一定Python语言基础,想要快速掌握Python项目开发知识、提高Python开发实战技能的读者学习参考。

目录

  • 第1章开发简单应用1
  • 1.1重要提示2
  • 1.2安装的先决条件2
  • 1.2.1安装Python3
  • 1.3本书的主题8
  • 1.3.1了解本书人物8
  • 1.4简单的脚本—兽人之袭
  • v0.0.19
  • 1.4.1游戏简介—兽人之袭
  • v0.0.110
  • 1.4.2问题说明10
  • 1.4.3伪代码—0.0.1版本10
  • 1.4.4代码查看11
  • 1.4.5运行兽人之袭v0.0.114
  • 1.5使用函数—兽人之袭
  • v0.0.514
  • 1.5.1重新回顾以前的版本15
  • 1.5.2有攻击功能的伪代码—版本0.0.517
  • 1.5.3代码查看19
  • 1.5.4运行兽人之袭v0.0.521
  • 1.6使用面向对象编程—兽人之袭v1.0.022
  • 1.6.1功能需求的优先度23
  • 1.6.2问题说明24
  • 1.6.3重新设计代码24
  • 1.6.4描绘整个场景25
  • 1.6.5代码查看27
  • 1.6.6运行兽人之袭v1.0.031
  • 1.7Python中的抽象基类32
  • 1.7.1练习33
  • 1.8小结34
  • 1.8.1对电子书读者非常重要的提示34
  • 第2章异常处理36
  • 2.1修改兽人之袭v1.0.036
  • 2.1.1问题调试37
  • 2.1.2bug修复中……38
  • 2.2异常39
  • 2.2.1什么是异常39
  • 2.2.2最常见的异常39
  • 2.2.3异常处理40
  • 2.2.4异常的抛出和再抛出42
  • 2.2.5try...except的else代码块43
  • 2.2.6finally...清理吧44
  • 2.3回归游戏—兽人之袭
  • v1.1.045
  • 2.3.1准备工作45
  • 2.3.2增加异常处理代码46
  • 2.3.3运行兽人之袭v1.1.047
  • 2.4自定义异常48
  • 2.4.1准备工作48
  • 2.4.2自定义异常— 问题所在49
  • 2.4.3编写一个新的异常类50
  • 2.4.4扩展异常类51
  • 2.4.5继承exception类53
  • 2.5练习55
  • 2.6小结56
  • 第3章模块化、包和部署57
  • 3.1选择一种版本控制规约58
  • 3.1.1连续递增58
  • 3.1.2使用日期格式59
  • 3.1.3语义版本控制方案59
  • 3.2代码模块化60
  • 3.2.1兽人之袭v2.0.060
  • 3.3创建Python包62
  • 3.3.1从包中录入63
  • 3.4在PyPI上发布包64
  • 3.4.1发行版本准备65
  • 3.4.2上传发行版69
  • 3.4.3一条命令完成所有的 事情73
  • 3.4.4安装你自己的发行版73
  • 3.5使用私有的PyPI仓库75
  • 3.5.1步骤1—安装 pypiserver75
  • 3.5.2步骤2—创建一个新的 源代码发行版75
  • 3.5.3步骤3—启动本地 服务器76
  • 3.5.4步骤4—安装私有 发行版76
  • 3.6创建增量发布77
  • 3.6.1打包并上传新版本77
  • 3.6.2升级已经安装的版本77
  • 3.7代码的版本控制78
  • 3.7.1Git资源78
  • 3.7.2安装Git78
  • 3.7.3配置你的验证信息79
  • 3.7.4Git基础术语79
  • 3.7.5创建并使用本地仓库80
  • 3.8使用Git的GUI客户端83
  • 3.9练习84
  • 3.10小结85
  • 第4章代码文档和最佳实践86
  • 4.1编写代码文档87
  • 4.1.1文档字符串88
  • 4.1.2reStructuredText简介89
  • 4.1.3使用RST的文档 字符串92
  • 4.1.4文档字符串格式化风格94
  • 4.1.5自动生成文档字符串 stubs95
  • 4.1.6使用Sphinx生成文档97
  • 4.2Python编码标准103
  • 4.3代码分析—我们做得 怎么样呢105
  • 4.3.1使用IDE进行代码 分析105
  • 4.3.2Pylint106
  • 4.4练习110
  • 4.5小结110
  • 第5章单元测试和重构111
  • 5.1本章的组织方式111
  • 5.1.1重要说明112
  • 5.2为何要进行测试112
  • 5.2.1提出了一个新的需求112
  • 5.2.2你实现了这个功能113
  • 5.2.3但是有些事情似乎 不对了……114
  • 5.2.4它需要完全测试115
  • 5.3单元测试115
  • 5.3.1Python的unittest 框架116
  • 5.4为应用程序编写单元测试121
  • 5.4.1创建测试包121
  • 5.4.2为单元测试创建新 的类122
  • 5.4.3第1个单元测试— 受伤方的选择123
  • 5.4.4运行第1个单元测试124
  • 5.4.5第2个单元测试— 占领木屋124
  • 5.4.6创建自己的测试模块127
  • 5.4.7批量执行单元测试127
  • 5.5使用模拟库的单元测试128
  • 5.5.1Mock的简介128
  • 5.5.2让我们开始Mock吧129
  • 5.5.3在单元测试中使用Mock 对象131
  • 5.5.4使用补丁133
  • 5.5.5第3个单元测试— play方法135
  • 5.6你的代码被覆盖到了吗139
  • 5.6.1解决导入错误140
  • 5.7其他单元测试工具141
  • 5.7.1Doctest141
  • 5.7.2Nose141
  • 5.7.3Pytest142
  • 5.8重构的前言142
  • 5.8.1绕个弯路—可测试性重构144
  • 5.9重构144
  • 5.9.1什么是重构145
  • 5.9.2为什么要进行重构145
  • 5.9.3何时进行重构145
  • 5.9.4如何进行重构146
  • 5.9.5移动148
  • 5.10重新审视单元测试150
  • 5.10.1可测试化重构150
  • 5.10.2第4个单元测试— setup_game_scenario152
  • 5.11练习152
  • 5.11.1重构和重新设计练习153
  • 5.12小结153
  • 第6章设计模式154
  • 6.1设计模式的介绍154
  • 6.1.1设计模式的分类155
  • 6.2Python语言和设计模式156
  • 6.2.1一级函数157
  • 6.2.2类作为一级对象157
  • 6.2.3闭包158
  • 6.2.4各种特性159
  • 6.2.5鸭子类型160
  • 6.3本章余下内容的结构161
  • 6.4快进—兽人之袭
  • v6.0.0162
  • 6.5策略模式164
  • 6.5.1策略场景—跳跃 特性164
  • 6.5.2策略—主要的问题165
  • 6.5.3策略—尝试解决 方案166
  • 6.5.4策略—重新考虑 设计168
  • 6.5.5策略方案1— 传统方法169
  • 6.5.6策略方案2— Python方法172
  • 6.6简单工厂174
  • 6.6.1简单工厂场景— 招募特性174
  • 6.6.2简单工厂— 主要的问题175
  • 6.6.3简单工厂—重新 考虑设计176
  • 6.6.4简单工厂方案1— 传统方法177
  • 6.6.5简单工厂方案2— Python方法178
  • 6.7抽象工厂模式180
  • 6.7.1抽象工厂场景— 饰品店181
  • 6.7.2抽象工厂—主要的 问题184
  • 6.7.3抽象工厂—重新考虑 设计184
  • 6.7.4抽象工厂方案— Python方法186
  • 6.8适配器模式188
  • 6.8.1适配器模型—精灵的 远房亲戚189
  • 6.8.2适配器—主要的 问题189
  • 6.8.3适配器—尝试解决 方案190
  • 6.8.4适配器解决方案— Python方法191
  • 6.9小结194
  • 第7章性能—识别瓶颈195
  • 7.1三个性能章节的总览195
  • 7.1.1更注重运行时的性能195
  • 7.1.2关于性能的第1个 章节196
  • 7.1.3关于性能的第2个 章节196
  • 7.1.4关于性能的第3个 章节196
  • 7.1.5看一下应用性能提升196
  • 7.2游戏场景—寻找黄金197
  • 7.2.1顶层算法199
  • 7.2.2查看最初的代码200
  • 7.2.3运行代码202
  • 7.3主要的问题203
  • 7.4识别瓶颈204
  • 7.4.1衡量执行时间204
  • 7.4.2监测代码片段的运行 时间205
  • 7.4.3代码分析206
  • 7.5内存分析212
  • 7.5.1memory_profiler包212
  • 7.6算法效率和复杂度214
  • 7.6.1算法效率214
  • 7.6.2算法复杂度214
  • 7.7大O符号214
  • 7.7.1大O复杂类215
  • 7.8小结221
  • 第8章性能优化1222
  • 8.1本章的前提223
  • 8.2本章的组织方式223
  • 8.3回顾“寻找黄金”的场景224
  • 8.3.1选择问题的数据大小224
  • 8.3.2分析最初的代码224
  • 8.4优化“寻找黄金”—
  • 第1部分225
  • 8.4.1调整算法—平方根225
  • 8.4.2跳过点操作符228
  • 8.4.3使用本地范围230
  • 8.5性能优化的一些事项232
  • 8.5.1列表推导式233
  • 8.5.2记录执行时间234
  • 8.5.3字典推导式235
  • 8.5.4交换条件块和for 循环235
  • 8.5.5在循环中使用try语句236
  • 8.5.6选择正确的数据结构237
  • 8.5.7collections模块238
  • 8.5.8生成器和生成器 表达式241
  • 8.5.9itertools模块245
  • 8.6练习247
  • 8.7小结247
  • 第9章性能优化2—NumPy和 并行化248
  • 9.1本章的先决条件248
  • 9.2本章的组织方式248
  • 9.3NumPy的简介249
  • 9.3.1安装NumPy250
  • 9.3.2创建数组对象250
  • 9.3.3简单的数组操作251
  • 9.3.4数组切割和索引252
  • 9.3.5广播254
  • 9.3.6其他功能255
  • 9.3.7从哪里能获得更多关于 NumPy的信息262
  • 9.4优化“寻找黄金”—
  • 第2部分262
  • 9.4.1“寻找黄金”优化— 优化四262
  • 9.4.2“寻找黄金”优化— 优化五264
  • 9.5使用multiprocessing模块的 并行化267
  • 9.5.1并行化简介267
  • 9.5.2全局解释器锁268
  • 9.5.3multiprocessing模块268
  • 9.6“寻找黄金”程序并行化271
  • 9.6.1重访黄金领地271
  • 9.6.2“寻找黄金”优化— 优化六,并行化273
  • 9.7进一步阅读277
  • 9.7.1JIT编译器277
  • 9.8小结278
  • 第10章简单的图形应用程序280
  • 10.1GUI框架概述281
  • 10.1.1Tkinter281
  • 10.1.2PyQt281
  • 10.1.3PySide282
  • 10.1.4Kivy282
  • 10.1.5wxPython282
  • 10.2GUI编程设计注意事项283
  • 10.2.1了解用户的需求283
  • 10.2.2开发用户故事283
  • 10.2.3简单性和可访问性283
  • 10.2.4一致性284
  • 10.2.5可预测性和熟悉性284
  • 10.2.6其他设计考虑284
  • 10.3事件驱动编程284
  • 10.3.1事件285
  • 10.3.2事件处理285
  • 10.3.3事件循环285
  • 10.4使用Tkinter进行GUI 编程286
  • 10.4.1Tkinter的文件链接286
  • 10.4.2Tkinter中的 mainloop()286
  • 10.4.3简单GUI应用程序—
  • 第1步287
  • 10.4.4简单GUI应用程序—
  • 第2步289
  • 10.4.5Tkinter中的GUI
  • 控件290
  • 10.4.6布局管理292
  • 10.4.7Tkinter中的事件294
  • 10.4.8Tkinter中的事件 处理296
  • 10.5项目1—兽人之袭
  • v10.0.0298
  • 10.5.1游戏场景298
  • 10.5.2问题声明298
  • 10.5.3编写代码299
  • 10.5.4运行应用程序305
  • 10.6MVC架构306
  • 10.6.1模型307
  • 10.6.2视图307
  • 10.6.3控制器307
  • 10.6.4MVC的好处308
  • 10.7项目2—兽人之袭
  • v10.1.0308
  • 10.7.1重新修改HutGame类308
  • 10.7.2创建MVC类309
  • 10.7.3MVC对象间的通信310
  • 10.7.4查看代码314
  • 10.7.5Model类315
  • 10.7.6View类316
  • 10.7.7运行应用程序317
  • 10.8测试GUI应用程序317
  • 10.8.1测试注意事项318
  • 10.9练习319
  • 10.10扩展阅读320
  • 10.11小结322
     

资源下载

资源下载地址1:https://pan.baidu.com/s/1fksdimM-jUMHR63lw-RGnA

相关资源

网友留言