Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群25
Java1234官方群25:838462530
        

实战springboot+CAS单点登录课程(免费领取)

SpringBoot打造全栈在线教育平台实战课程

毕设代做论文包查重联系人QQ:1982956321毕设大神 毕设代做论文包查重

66套java实战课程无套路领取

Java1234 VIP课程

领取微信扫码登录Java实现视频教程

Java1234至尊VIP(特价活动)
当前位置: 主页 > Java文档 > Java基础相关 >

Python高级编程 第2版 PDF 下载


分享到:
时间:2020-11-22 09:25来源:http://www.java1234.com 作者:转载  侵权举报
Python高级编程 第2版 PDF 下载
失效链接处理
 Python高级编程 第2版  PDF 下载


本站整理下载:
版权归出版社和原作者所有,链接已删除,请购买正版
 
 
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/25163810.html
  
相关截图:


资料简介:
Python作为一种高-级程序设计语言,凭借其简洁、易读及可扩展性日渐成为程序设计领域备受推崇的语言之一。 本书基于Python 3.5版本进行讲解,通过13章的内容,深度揭示了Python编程的高-级技巧。本书从Python语言及其社区的现状开始介绍,对Python语法、命名规则、Python包的编写、部署代码、扩展程序开发、管理代码、文档编写、测试开发、代码优化、并发编程、设计模式等重要话题进行了全面系统化的讲解。 本书适合想要进一步提高自身Python编程技能的读者阅读,也适合对Python编程感兴趣的读者参考学习。全书结合典型且实用的开发案例,可以帮助读者创建高性能的、可靠且可维护的Python应用。


资料目录:


第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  不只是CPython     9

1.6.1  为什么要关注Python实现        10

1.6.2  Stackless Python 10

1.6.3  Jython 10

1.6.4  IronPython  11

1.6.5  PyPy     11

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  yield语句    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中的旧式类与super   65

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

3.2.3  使用super易犯的错误      70

3.2.4  最佳实践    73

3.3  高级属性访问模式        73

3.3.1  描述符         74

3.3.2  property       79

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 8    101

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  Pylint   118

4.7.2  pep8和flake8     120

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/raven   173

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  Cython 201

7.4  挑战        205

7.4.1  额外的复杂性    205

7.4.2  调试    206

7.5  无扩展的动态库接口   206

7.5.1  ctypes 207

7.5.2  CFFI      212

7.6  小结        214

第8章  管理代码 215

8.1  版本控制系统        215

8.1.1  集中式系统         215

8.1.2  分布式系统         217

8.1.3  集中式还是分布式    219

8.1.4  尽可能使用Git  219

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  deque         324

12.3.2  defaultdict 325

12.3.3  namedtuple       326

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/O    364

13.4.2  Python中的async和await关键字         365

13.4.3  老Python版本中的asyncio     369

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

 


------分隔线----------------------------
锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程