图书介绍

Effective Python 编写高质量Python代码的59个有效方法pdf电子书版本下载

Effective Python  编写高质量Python代码的59个有效方法
  • (美)布雷特·斯拉特金著;爱飞翔译 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111523550
  • 出版时间:2016
  • 标注页数:212页
  • 文件大小:26MB
  • 文件页数:228页
  • 主题词:软件工具-程序设计

PDF下载


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

下载说明

Effective Python 编写高质量Python代码的59个有效方法PDF格式电子书版下载

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

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

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

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

图书目录

第1章 用Pythonic方式来思考 1

第1条:确认自己所用的Python版本 1

第2条:遵循PEP 8风格指南 3

第3条:了解bytes、 str与unicode的区别 5

第4条:用辅助函数来取代复杂的表达式 8

第5条:了解切割序列的办法 10

第6条:在单次切片操作内,不要同时指定start、 end和stride 13

第7条:用列表推导来取代map和filter 15

第8条:不要使用含有两个以上表达式的列表推导 16

第9条:用生成器表达式来改写数据量较大的列表推导 18

第10条:尽量用enumerate取代range 20

第11条:用zip函数同时遍历两个迭代器 21

第12条:不要在for和while循环后面写else块 23

第13条:合理利用try/except/else/finally结构中的每个代码块 25

第2章 函数 28

第14条:尽量用异常来表示特殊情况,而不要返回None 28

第15条:了解如何在闭包里使用外围作用域中的变量 30

第16条:考虑用生成器来改写直接返回列表的函数 35

第17条:在参数上面迭代时,要多加小心 37

第18条:用数量可变的位置参数减少视觉杂讯 41

第19条:用关键字参数来表达可选的行为 43

第20条:用None和文档字符串来描述具有动态默认值的参数 46

第21条:用只能以关键字形式指定的参数来确保代码明晰 49

第3章 类与继承 53

第22条:尽量用辅助类来维护程序的状态,而不要用字典和元组 53

第23条:简单的接口应该接受函数,而不是类的实例 58

第24条:以@classmethod形式的多态去通用地构建对象 62

第25条:用super初始化父类 67

第26条:只在使用Mix-in组件制作工具类时进行多重继承 71

第27条:多用public属性,少用private属性 75

第28条:继承collections.abc以实现自定义的容器类型 79

第4章 元类及属性 84

第29条:用纯属性取代get和set方法 84

第30条:考虑用@property来代替属性重构 88

第31条:用描述符来改写需要复用的@properry方法 92

第32条:用__getattr__、__getattribute__和__setattr__实现按需生成的属性 97

第33条:用元类来验证子类 102

第34条:用元类来注册子类 104

第35条:用元类来注解类的属性 108

第5章 并发及并行 112

第36条:用subprocess模块来管理子进程 113

第37条:可以用线程来执行阻塞式I/O,但不要用它做平行计算 117

第38条:在线程中使用Lock来防止数据竞争 121

第39条:用Queue来协调各线程之间的工作 124

第40条:考虑用协程来并发地运行多个函数 131

第41条:考虑用concurrent.futures来实现真正的平行计算 141

第6章 内置模块 145

第42条:用functools.wraps定义函数修饰器 145

第43条:考虑以contextlib和with语句来改写可复用的try/finally代码 148

第44条:用copyreg实现可靠的pickle操作 151

第45条:应该用datetime模块来处理本地时间,而不是用time模块 157

第46条:使用内置算法与数据结构 161

第47条:在重视精确度的场合,应该使用decimal 166

第48条:学会安装由Python开发者社区所构建的模块 168

第7章 协作开发 170

第49条:为每个函数、类和模块编写文档字符串 170

第50条:用包来安排模块,并提供稳固的API 174

第51条:为自编的模块定义根异常,以便将调用者与API相隔离 179

第52条:用适当的方式打破循环依赖关系 182

第53条:用虚拟环境隔离项目,并重建其依赖关系 187

第8章 部署 193

第54条:考虑用模块级别的代码来配置不同的部署环境 193

第55条:通过repr字符串来输出调试信息 195

第56条:用unittest来测试全部代码 198

第57条:考虑用pdb实现交互调试 201

第58条:先分析性能,然后再优化 203

第59条:用tracemalloc来掌握内存的使用及泄漏情况 208

精品推荐