荐书与免费送书:《编写高质量代码改善 Python 程序的 91 个建议》

206 阅读6分钟
原文链接: mp.weixin.qq.com

为了学习如何打理好微信公众号,Python猫我关注了好几个python技术公众号。然后发现这些同行们都在免费送资源,或者抽奖送书耶。于是,我也去参与抽奖,竟然侥幸抽中啦一本《Python数据科学》,炒鸡开心~~~

以后若有出版社来合作,猫猫我也要给大家抽抽抽、送送送,让大家满载而归~~

不管学习什么东西,猫猫觉得阅读该领域的专业书籍是必要过程。不过,编程技术相对特殊,如果有与实体书籍相配套的源码,或者是在线书籍,那就更方便了,毕竟可以拷贝代码直接运行,对于学习效果是事半功倍的。

于是,猫猫想到了一个妙计——找无版权的在线书籍推荐给大家,这样既达到了“送书”的目的,又便利于做知识管理、归档索引和笔记分享。一举多得,妙妙妙~~~

今天推荐的这本书名特别吸引人(相信不少人就是因此进来阅读哒),编写高质量代码是咱合格的程序猫的素养,那当然得听听是些啥建议了。

首先看看豆瓣评价,7.5分四星,应该算是中上水准吧,不过评价人数317人,评价人数太少了,似乎是冷门书籍。或许因为豆瓣是文艺青年聚居地,技术类书籍的评价人数都不多吧。

这第二作者赖勇浩的名字似乎眼熟,看简介中写到“Python领域有深厚的积累,CSDN博客专家,博客浏览量超过200万”,莫不是曾经读过他文章?

再往下看看目录:

第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

。。。(后半部分略)。。。

从目录来看,有大部分内容相对基础,总体来看覆盖的知识点很多。

看看短评,有131条,多数人给了3-4星。下面摘录几条:

这几个评价比较客观中肯,再结合其它没摘录的短评,以及猫猫的阅读体验,现在给大家总结一下:此书内容友好,阅读起来轻松,可以快速复习;知识点参差不齐,缺少体系,虽然覆盖内容多,但梳理得比较简单不够深入;此书不建议初学者拿来入门,建议有基础的学习者当做工具书来看,有针对性地查漏补缺,对于自己不足之处,找更深入的书籍阅读。

最后的结论,猫猫当然是推荐大家一读的。

这本书有GitBook,可下载PDF、Mobi、ePub版本电子书,不过猫猫最推荐大家在线阅读,下面是阅读地址:《编写高质量代码改善 Python 程序的 91 个建议(https://legacy.gitbook.com/book/l1nwatch/writing_solid_python_code_gitbook/details )》。

在准备这篇荐书时,猫猫发现某知乎专栏的一份学习笔记系列,对此书做了详细记录,大家可以参考阅读:

学习笔记一:改善 Python 程序的 91 个建议

(https://zhuanlan.zhihu.com/p/26155739)

学习笔记二:改善 Python 程序的 91 个建议

(https://zhuanlan.zhihu.com/p/26162701)

学习笔记三:改善 Python 程序的 91 个建议

(https://zhuanlan.zhihu.com/p/26748481)

学习笔记四:改善 Python 程序的 91 个建议

(https://zhuanlan.zhihu.com/p/26760180)

学习笔记五:改善 Python 程序的 91 个建议

(https://zhuanlan.zhihu.com/p/26761721)

学习笔记六:改善 Python 程序的 91 个建议

(https://zhuanlan.zhihu.com/p/26761842)

最后附上两个相关链接:

作者CSDN博客:赖勇浩的编程私伙局

https://blog.csdn.net/gzlaiyonghao

关于排版的勘误:作业部落的勘误表

https://www.zybuluo.com/laiyonghao/note/21977

喵喵喵,今天的荐书就到这啦,各位看官们,觉得有用的话,分享给其他同样好学的胖友们吧~~~

一只伪喵星来客

一个有趣又有用的学习分享平台

专注python技术、数据科学和深度学习

兼具极客思维与人文情怀

欢迎你关注

微信号:python_cat