荐书与免费送书:《编写高质量代码改善 Python 程序的 91 个建议》
为了学习如何打理好微信公众号,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