编写高质量代码改善python程序的91个建议是一本Python程序代码编辑指南,由张颖和赖勇浩两人共同编著。本书将为你编写健壮、优雅、高质量的Python代码提供切实帮助!内容全部由Python编码的实践组成,从基本原则、惯用法、语法、库、设计模式、内部机制、开发工具和性能优化8个方面深入探讨了编写高质量Python代码的技巧与禁忌,一共总结出91条宝贵的建议。全书尝试着从基本原则、惯用法、语法、库、设计模式、内部机制、开发工具和性能优化8方面深入探讨编写高质量Python代码的技巧、禁忌和佳实践,能够适用于有一定的Python基础,希望通过项目最佳实践来提升自己的相关Python人员。
内容介绍
《编写高质量代码改善python程序的91个建议》针对每个问题所选择的应用场景都非常典型,给出的建议也都与实践紧密结合。书中的每一条建议都可能在你的下一行代码、下一个应用或下一个项目中显露锋芒。建议你将本书搁置在手边,随时查阅,相信这么做一定能使你的学习和开发工作事半功倍。
本书分为8章,主要从编程惯用法、基础语法、库、设计模式、内部机制、开发工具、性能剖析与优化等方面解读如何编写高质量的Python程序。每个章节的内容都以建议的形式呈现,这些建议或源于实际项目应用经验,或源于对Python本质的理解和探讨,或源于社区推荐的做法。它们能够帮助读者快速完成从入门到进阶的这个过程。由于各个章节相对独立,因此无须花费整段的时间从头开始阅读。你可以在空闲的时候选取任意感兴趣的小节阅读。为了减轻读者负担,本书代码尽量保持完整,阅读过程中无须额外下载其他相关代码。
内容介绍
前 言 第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:考虑兼容性,尽可能使用Unicode 37 建议18:构建合理的包层次来管理module 42 第3章 基础语法 45 建议19:有节制地使用from…import语句 45 建议20:优先使用absolute import来导入模块 48 建议21:i+=1不等于++i 50 建议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:深入掌握ConfigParser 97 建议41:使用argparse处理命令行参数 99 建议42:使用pandas处理大型CSV文件 103 建议43:一般情况使用ElementTree解析XML 107 建议44:理解模块pickle优劣 111 建议45:序列化的另一个不错的选择——JSON 113 建议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 objects 141 建议55:__init__()不是构造方法 143 建议56:理解名字查找机制 147 建议57:为什么需要self参数 151 建议58:理解MRO与多继承 154 建议59:理解描述符机制 157 建议60:区别__getattr__()和__getattribute__()方法 160 建议61:使用更为安全的property 164 建议62:掌握metaclass 169 建议63:熟悉Python对象协议 176 建议64:利用操作符重载实现中缀语法 179 建议65:熟悉 Python 的迭代器协议 181 建议66:熟悉 Python 的生成器 185 建议67:基于生成器的协程及greenlet 188 建议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:将包发布到PyPI 224 第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
使用说明
1、下载并解压,得出pdf文件
2、如果打不开本文件,请务必下载pdf阅读器
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读
发表评论
0条评论软件排行榜
热门推荐
- 有柿电脑版 v11.5.784.12M / 简体中文
- 南方Plus电脑版 v11.8.027.22M / 简体中文
- 潇湘书院电脑版 v2.3.11.888官方版49.65M / 简体中文
- 数据挖掘导论 官方版61.61M / 简体中文
- 开源阅读电脑版 v3.2517.96M / 简体中文
- cnki全球学术快报电脑版 v0.2.3495.79M / 简体中文
- 未公开的Oracle数据库秘密 迪贝斯pdf扫描版34.69M / 简体中文
- linux常用命令大全 chm版1.48M / 简体中文
- 本草纲目 5.34M / 简体中文
- Scala程序设计第二版 pdf高清完整版15.83M / 简体中文