Python中文网

Python应用开发实战

cnpython228

推荐编程书籍:Python应用开发实战,由人民邮电出版社2018-06-01月出版发行,本书编译以及作者信息 为:尼纳德·萨斯叶(Ninad Sathaye) 著,此次为第1次发行, 国际标准书号为:9787115477576,品牌为异步图书, 这本书采用平装开本为16开,纸张采为胶版纸,全书共有未知页字数万字,是本Python 编程相关非常不错的书。

此书内容摘要

Python是使用较多的动态编程语言之一,应用广泛,学习者众多。


本书使用一个生动有趣的、基于文本的游戏主题作为讲解内容来介绍Python应用开发过程的各个方面。全书共10章,涉及简单应用开发、模块化、打包和发布应用的代码、文档规范、单元测试、重构、设计模式、性能监测、性能优化、GUI应用、MVC框架等方方面面的软件开发知识和技能。


本书适合有一定Python语言基础,想要快速掌握Python项目开发知识、提高Python开发实战技能的读者学习参考。


关于此书作者

在Ninad Sathaye的职业生涯中,他有多年使用包括Python和C++在内的多种语言设计和开发性能关键应用的经验。他曾是半导体行业中的一个软件架构师,最近又转入物联网领域。他拥有机械工程硕士学位。

编辑们的推荐

适读人群 :你已经了解Python语言的基础和面向对象编程吗? 你想更进一步钻研、学习技术来让你的Python应用更具健壮性、可扩展性并更加高效吗? 如果是这样的话,那么这本书就是为你量身打造的。

Python是使用广泛的动态编程语言之一。它支持一组丰富的库和框架,从而能够用来进行快速开发。但是,如此快速的开发通常会带来一些问题,容易导致代码整体质量、性能和扩展性的降低。本书将会教你如何处理这些问题,以及如何编写出更好的Python应用程序。


本书从简单命令行应用程序的基础知识入手,帮助读者不断提高技能,直到可以设计出高效的、高级的Python应用。本书使用轻松奇幻的学习主线,用具体解决方案来应对在复杂的Python开发中遇到的实际问题。读者从关注健壮性,以及程序代码的打包和发布开始,通过提高代码的可扩展性、可重用性以及可读性来提高应用程序的生命周期,并掌握Python代码重构、设计模式。在关于性能的章节中,读者学会识别性能瓶颈并提升性能,最后还将学习如何开发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


部分内容试读

暂无.

关于此书评价

暂无.

书摘内容

暂无.

Python应用开发实战最新最全的试读、书评、目录、简介信息由Python中文网整理提供。