《流畅的Python》看完,后面“元编程”部分,读书笔记就免了。因为知识点十分的琐碎,我又是讨厌“死记硬背”类型的人。

流畅的Python-fluent-python

这本书真的不是给初学者看的,这是中高级材料。图书市场中,初级的书比较多,因为Python入门简单,好讲。中高级的比较少,寥寥无几,而且大半是面向设计模式类。这本跟其它书不太一样,讲的是如何从内部更有效的利用、控制Python,让你更深刻的理解这门出色的计算机语言。

它涉及的主题挺多,书也是很厚,内容丰富。要论实用性,我觉得前面3/4的内容最实用,一些内容明显的更适合代码库编写者,普通用户用到的机会很少,所以大概了解足够了。

阅读此书的过程中,我同时参考了其它语言的设计,比如PHP/Java/JavaScript/Go等。从比较的角度加强理解。相比之下,Python设计的确实是出众。这跟创建者及设计开发核心团队的精益求精精神,以及克制态度有关。他们尽可能的让语言保持简单,宁可少加关键字。加关键字是很容易的事情,但是要知道有个事情叫“涌现”,不同事物的组合,配合使用,可能出现出乎意料的结果。这些事无法在开始时预见。这些结果有好有坏,如果是坏的,那么就糟了。你如何修正语言又保持兼容性?非常困难。

所以Python有个理念就是:假如使用当下的语言能力和方法能够解决问题并且不算麻烦,那就这么解决吧,不要随意加语言的功能以防意外。但是随着近些年编程语言的发展进步,一些新的概念不断提出,新的应用环境出现,也迫使Python必须推陈出新,适应新需求。

比如函数式编程能力,这个是日渐兴盛。还有协程控制、异步编程,都是热门话题。还有如何配合现代的工程化开发?语言如何提供更好的开发能力支持?

作为Python的用户,一方面我们要熟悉Python的语言基础能力,学会在当下语言能力下,挖掘潜能,尽可能优雅的解决问题。这就需要阅读本书,多多了解Python的构造和内部特性了。另一方面,也要注意语言的新发展,跟上新的潮流,新的思想。这些东西不是平白无故产生出来的,都是对应着一些适用场合和应用场景。我们要了解语言的这些新特性,知道它们适合用在哪里,有什么特性可以采用。

人获得技术进步,第一步就是要知道。熟悉不熟悉倒并没那么重要,毕竟你可以进一步的学习最糟的当然是不知道。二阶不胜任 – 不知道自己不知道。连有这个事物都不知道,自然进步无从发生。你要先知道世界上有这样的概念,有这样的进展,才能谈得上进一步的学习、利用。

这本书知识点很多,可是没必要死记硬背。还是那个办法:独观大略。知道Python可以这么做,可以解决这些问题,需要的时候,回过头来再仔细研究,用上它。

如果按10分计算,本书我给打8分吧,因为一些话题我也不是很感兴趣。但一些主题讲的却是深入浅出,写的很透彻。这里还是要推荐下的。

购书在这里:http://www.ituring.com.cn/book/1564

 

数学史 - 人类心智的荣耀之路
流畅的Python-Fluent Python读书笔记-18-使用asyncio包处理并发