前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >荐书与免费送书:《编写高质量代码改善 Python 程序的 91 个建议》

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

作者头像
Python猫
发布2019-04-10 10:13:53
4800
发布2019-04-10 10:13:53
举报
文章被收录于专栏:Python无止境Python无止境

为了学习如何打理好微信公众号,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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-10-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python猫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档