图书介绍
编写高质量代码 改善Python程序的91个建议2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- 张颖,赖勇浩著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111467045
- 出版时间:2014
- 标注页数:262页
- 文件大小:34MB
- 文件页数:275页
- 主题词:软件工具-程序设计
PDF下载
下载说明
编写高质量代码 改善Python程序的91个建议PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 引论1
建议1:理解Pythonic概念1
建议2:编写Pythonic代码5
建议3:理解Python与C语言的不同之处8
建议4:在代码中适当添加注释10
建议5:通过适当添加空行使代码布局更为优雅、合理12
建议6:编写函数的4个原则15
建议7:将常量集中到一个文件18
第2章 编程惯用法20
建议8:利用assert语句来发现问题20
建议9:数据交换值的时候不推荐使用中间变量22
建议10:充分利用Lazy evaluation的特性24
建议11:理解枚举替代实现的缺陷25
建议12:不推荐使用type来进行类型检查27
建议13:尽量转换为浮点类型后再做除法29
建议14:警惕eval()的安全漏洞31
建议15:使用enumerate()获取序列迭代的索引和值33
建议16:分清=与is的适用场景35
建议17:考虑兼容性,尽可能使用Unicode37
建议18:构建合理的包层次来管理module42
第3章 基础语法45
建议19:有节制地使用from...import语句45
建议20:优先使用absolute import来导入模块48
建议21:i+=1不等于++i50
建议22:使用with自动关闭资源50
建议23:使用else子句简化循环(异常处理)53
建议24:遵循异常处理的几点基本原则55
建议25:避免finally中可能发生的陷阱59
建议26:深入理解None,正确判断对象是否为空60
建议27:连接字符串应优先使用join而不是+62
建议28:格式化字符串时尽量使用.format方式而不是%64
建议29:区别对待可变对象和不可变对象68
建议30:[]、()和{}:一致的容器初始化形式71
建议31:记住函数传参既不是传值也不是传引用73
建议32:警惕默认参数潜在的问题77
建议33:慎用变长参数78
建议34:深入理解str()和repr()的区别80
建议35:分清staticmethod和classmethod的适用场景82
第4章 库86
建议36:掌握字符串的基本用法86
建议37:按需选择sort()或者sorted()89
建议38:使用copy模块深拷贝对象92
建议39:使用Counter进行计数统计95
建议40:深入掌握ConfigParser97
建议41:使用argparse处理命令行参数99
建议42:使用pandas处理大型CSV文件103
建议43:一般情况使用ElementTree解析XML107
建议44:理解模块pickle优劣111
建议45:序列化的另一个不错的选择——JSON113
建议46:使用traceback获取栈信息116
建议47:使用logging记录日志信息119
建议48:使用threading模块编写多线程程序122
建议49:使用Queue使多线程编程更安全125
第5章 设计模式129
建议50:利用模块实现单例模式129
建议51:用mixin模式让程序更加灵活132
建议52:用发布订阅模式实现松耦合134
建议53:用状态模式美化代码137
第6章 内部机制141
建议54:理解built-in objects141
建议55:__init__()不是构造方法143
建议56:理解名字查找机制147
建议57:为什么需要self参数151
建议58:理解MRO与多继承154
建议59:理解描述符机制157
建议60:区别__getattr__()和__getattribute__()方法160
建议61:使用更为安全的property164
建议62:掌握metaclass169
建议63:熟悉Python对象协议176
建议64:利用操作符重载实现中缀语法179
建议65:熟悉Python的迭代器协议181
建议66:熟悉Python的生成器185
建议67:基于生成器的协程及greenlet188
建议68:理解GIL的局限性192
建议69:对象的管理与垃圾回收194
第7章 使用工具辅助项目开发197
建议70:从PyPI安装包197
建议71:使用pip和yolk安装、管理包199
建议72:做paster创建包202
建议73:理解单元测试概念209
建议74:为包编写单元测试212
建议75:利用测试驱动开发提高代码的可测性216
建议76:使用Pylint检查代码风格218
建议77:进行高效的代码审查221
建议78:将包发布到PyPI224
第8章 性能剖析与优化227
建议79:了解代码优化的基本原则227
建议80:借助性能优化工具228
建议81:利用cProfile定位性能瓶颈229
建议82:使用memory_profiler和objgraph剖析内存使用235
建议83:努力降低算法复杂度237
建议84:掌握循环优化的基本技巧238
建议85:使用生成器提高效率240
建议86:使用不同的数据结构优化性能243
建议87:充分利用set的优势245
建议88:使用multiprocessing克服GIL的缺陷248
建议89:使用线程池提高效率254
建议90:使用C/C++模块扩展提高性能257
建议91:使用Cython编写扩展模块259
热门推荐
- 3536329.html
- 2203220.html
- 3431312.html
- 1627105.html
- 3455600.html
- 2446799.html
- 3846030.html
- 3480748.html
- 409559.html
- 3429156.html
- http://www.ickdjs.cc/book_2213147.html
- http://www.ickdjs.cc/book_2263527.html
- http://www.ickdjs.cc/book_1739483.html
- http://www.ickdjs.cc/book_817027.html
- http://www.ickdjs.cc/book_136063.html
- http://www.ickdjs.cc/book_3326982.html
- http://www.ickdjs.cc/book_1747013.html
- http://www.ickdjs.cc/book_2939956.html
- http://www.ickdjs.cc/book_1379073.html
- http://www.ickdjs.cc/book_1260739.html