图书介绍

PYTHON高级编程 第2版PDF|Epub|txt|kindle电子书版本网盘下载

PYTHON高级编程 第2版
  • (波)贾沃斯基;(法)莱德著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:7115460159
  • 出版时间:2017
  • 标注页数:403页
  • 文件大小:61MB
  • 文件页数:421页
  • 主题词:软件工具-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

PYTHON高级编程 第2版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 Python现状1

1.1 Python的现状与未来1

1.2 Python升级及其原因2

1.3 追踪Python最新变化——PEP文档2

1.4 当前Python 3的普及程度3

1.5 Python 3和Python 2的主要差异4

1.5.1 为什么要关注这些差异4

1.5.2 主要的语法差异和常见陷阱4

1.5.3 用于保持跨版本兼容性的常用工具和技术6

1.6 不只是CPython9

1.6.1 为什么要关注Python实现10

1.6.2 Stackless Python10

1.6.3 Jython10

1.6.4 IronPython11

1.6.5 PyPy11

1.7 Python开发的现代方法12

1.8 应用层Python环境隔离13

1.8.1 为什么要隔离14

1.8.2 常用解决方案15

1.8.3 选择哪种工具18

1.9 系统级环境隔离19

1.9.1 使用Vagrant的虚拟开发环境20

1.9.2 容器化与虚拟化的对比21

1.10 常用的生产力工具21

1.10.1 自定义Python shell——IPython、bpython、ptpython等22

1.10.2 交互式调试器24

1.11 有用的资源25

1.12 小结25

第2章 语法最佳实践——类级别以下26

2.1 Python的内置类型26

2.1.1 字符串与字节27

2.1.2 集合类型30

2.2 高级语法39

2.2.1 迭代器40

2.2.2 vield 语句41

2.2.3 装饰器44

2.2.4 上下文管理器——with语句54

2.3 你可能还不知道的其他语法元素58

2.3.1 for…else…语句58

2.3.2 函数注解59

2.4 小结60

第3章 语法最佳实践——类级别以上61

3.1 子类化内置类型61

3.2 访问超类中的方法63

3.2.1 Python 2中的旧式类与super65

3.2.2 理解Python的方法解析顺序66

3.2.3 使用super易犯的错误70

3.2.4 最佳实践73

3.3 高级属性访问模式73

3.3.1 描述符74

3.3.2 property79

3.3.3 槽81

3.4 元编程82

3.4.1 装饰器——一种元编程方法83

3.4.2 类装饰器83

3.4.3 使用__new__()方法覆写实例创建过程85

3.4.4 元类87

3.4.5 一些关于代码生成的提示94

3.5 小结100

第4章 选择好的名称101

4.1 PEP 8与命名最佳实践101

4.1.1 为何要遵守PEP 8以及何时遵守PEP 8101

4.1.2 超越PEP 8——团队的风格指南102

4.2 命名风格102

4.3 命名指南110

4.3.1 用“has”或“is”前缀命名布尔元素111

4.3.2 用复数形式命名集合变量111

4.3.3 用显式名称命名字典111

4.3.4 避免通用名称111

4.3.5 避免现有名称112

4.4 参数的最佳实践113

4.4.1 通过迭代设计构建参数113

4.4.2 信任参数和测试114

4.4.3 小心使用*args和**kwargs魔法参数115

4.5 类的名称117

4.6 模块和包的名称117

4.7 有用的工具118

4.7.1 Pylint118

4.7.2 pep8和flake8120

4.8 小结120

第5章 编写一个包121

5.1 创建一个包121

5.1.1 Python打包工具的混乱状态122

5.1.2 项目配置123

5.1.3 自定义setup命令131

5.1.4 在开发期间使用包132

5.2 命名空间包133

5.2.1 为什么有用133

5.2.2 PEP 420——隐式命名空间包135

5.2.3 以前Python版本中的命名空间包136

5.3 上传一个包137

5.3.1 PyPI——Python包索引137

5.3.2 源代码包与构建包139

5.4 独立可执行文件142

5.4.1 独立可执行文件何时有用143

5.4.2 常用工具143

5.4.3 可执行包中Python代码的安全性150

5.5 小结151

第6章 部署代码152

6.1 十二要素应用152

6.2 用Fabric进行自动化部署154

6.3 你自己的包索引或索引镜像158

6.3.1 PyPI镜像159

6.3.2 使用包进行部署160

6.4 常见约定与实践168

6.4.1 文件系统层次结构168

6.4.2 隔离168

6.4.3 使用进程管理工具169

6.4.4 应该在用户空间运行应用代码170

6.4.5 使用HTTP反向代理171

6.4.6 优雅地重新加载进程171

6.5 代码检测与监控172

6.5.1 记录错误——sentry/raven173

6.5.2 监控系统与应用指标175

6.5.3 处理应用日志177

6.6 小结181

第7章 使用其他语言开发Python扩展182

7.1 使用C或者C++编写扩展182

7.2 为什么你想用扩展184

7.2.1 提高关键代码段的性能185

7.2.2 集成现有的使用不同语言编写的代码185

7.2.3 集成第三方动态库185

7.2.4 创建自定义数据类型186

7.3 编写扩展186

7.3.1 纯C扩展187

7.3.2 Cython201

7.4 挑战205

7.4.1 额外的复杂性205

7.4.2 调试206

7.5 无扩展的动态库接口206

7.5.1 ctypes207

7.5.2 CFFI212

7.6 小结214

第8章 管理代码215

8.1 版本控制系统215

8.1.1 集中式系统215

8.1.2 分布式系统217

8.1.3 集中式还是分布式219

8.1.4 尽可能使用Git219

8.1.5 Git工作流程与GitHub工作流程220

8.2 持续的开发过程223

8.2.1 持续集成224

8.2.2 持续交付227

8.2.3 持续部署227

8.2.4 常用的持续集成工具228

8.2.5 选择正确的工具和常见的陷阱234

8.3 小结236

第9章 文档化你的项目237

9.1 7项技术写作规则237

9.1.1 两步写作238

9.1.2 定位读者238

9.1.3 使用简单的风格239

9.1.4 限制信息范围240

9.1.5 使用现实中的代码示例240

9.1.6 使用轻量且充分的方法241

9.1.7 使用模板241

9.2 reStructuredText入门242

9.2.1 章节结构243

9.2.2 列表245

9.2.3 行内标记246

9.2.4 文字块246

9.2.5 链接247

9.3 构建文档248

9.4 构建自己的文档集254

9.4.1 构建格局254

9.4.2 文档构建与持续集成259

9.5 小结260

第10章 测试驱动开发261

10.1 我不测试261

10.1.1 测试开发的原则261

10.1.2 什么样的测试265

10.1.3 达式Python标准测试工具268

10.2 我做测试273

10.2.1 unittest陷阱273

10.2.2 unittest的替代品274

10.2.3 测试覆盖率280

10.2.4 仿真与模拟282

10.2.5 测试环境与依赖兼容性289

10.2.6 文档驱动开发292

10.3 小结294

第11章 优化——一般原则与分析技术295

11.1 3个优化规则295

11.1.1 首先要能工作295

11.1.2 从用户的角度考虑296

11.1.3 保持代码的可读性和可维护性297

11.2 优化策略297

11.2.1 找到另外的罪魁祸首297

11.2.2 扩展硬件298

11.2.3 编写速度测试298

11.3 查找瓶颈299

11.3.1 分析CPU使用情况299

11.3.2 分析内存使用307

11.3.3 分析网络使用情况315

11.4 小结316

第12章 优化——一些强大的技术317

12.1 降低复杂度318

12.1.1 循环复杂度319

12.1.2 大O记法320

12.2 简化322

12.3 使用集合模块323

12.3.1 deque324

12.3.2 defaultdict325

12.3.3 namedtuple326

12.4 架构体系的权衡327

12.4.1 使用启发式和近似算法327

12.4.2 使用任务队列和延迟处理328

12.4.3 使用概率型数据结构331

12.5 缓存331

12.5.1 确定性缓存332

12.5.2 非确定性缓存335

12.5.3 缓存服务336

12.6 小结338

第13章 并发339

13.1 为什么需要并发339

13.2 多线程340

13.2.1 什么是多线程340

13.2.2 Python如何处理多线程341

13.2.3 何时应该使用多线程342

13.3 多进程356

13.4 异步编程364

13.4.1 协同多任务与异步I/O364

13.4.2 Python中的async和await关键字365

13.4.3 老Python版本中的asyncio369

13.4.4 异步编程实例369

13.4.5 使用futures将异步代码同步化372

13.5 小结374

第14章 有用的设计模式376

14.1 创建型模式376

14.2 结构型模式379

14.2.1 适配器380

14.2.2 代理394

14.2.3 外观395

14.3 行为模式395

14.3.1 观察者396

14.3.2 访问者398

14.3.3 模板400

14.4 小结403

热门推荐