杂谈Python入门和书
学Python,我很久前就有这个念头了,Python入门恐怕才是最近的事情。同样,这本书也是两年前买的,最近才看完。
用了这么长时间才学会这么简洁有趣的一门语言实在是不可思议,无奈这个过程被各种事情打断。所以推荐初学者集中时间,快速入门。之后,写小程序看中级书,Python会越来越顺手。
在我看来入门书是非常重要,直接影响到学习效率和理解语言风格。一本入门书要薄,少量的内容就勾勒出这门语言的重要特征。还要介绍惯用法,潜移默化语言风格,这里称之为Pythonic。
先说说书,Python入门书知名的有这么几本。
《Learning Python》(Python学习手册),作者还有一本高级教程做为该书的延续,《Programming Python》。可惜的是,书写的太厚了,极不容易作为入门书来看。估计还没看出Python的轮廓,已经放弃了。
《Core Python Programming》(Python核心编程 2nd),我认为与本书不分上下,书写的不错,比这本略深略厚一些,我几年前最开始看的就是这本,可惜没看一点就学其他的事情去了。和本书相比,看完要花的时间要更多些,我是在入门后翻过一遍的。这书的三版拆成了两本书,也是一基础一高级,但反而不适合入门了。另外,这书的二版网上有中文的文字版PDF。
《Python Tutorial》,官方教程,简洁明快,很不错。对于有编程基础的人,看一个星期就可以写简单代码。作为简明教程合适,作为入门书,教育性不够。入门书需要给读者提一些小问题,来提高读书时的思维活跃度,否则很难记住必要的语法点。
《A Byte of Python》(简明Python教程),适合有编程经验的,想快速了解Python语法的人。 如果你希望看个几天并同时完成一个简单程序,这个手册还是不错的,我有几个同事就是用这个入门。英文版网上持续更新,中文版好像是很老的一个版本。
《Learn Python the hard way》,章节分割的有点多,不能短期看到Python轮廓概貌,适合时间多,有耐心的人。对于已经有一门语言基础的人来说,略简单不够流畅,不合我个人口味。
《Dive Into Python》,书是不错但根本不是入门书,适合有Python经验的人看。不知道多少年前,谁把它当入门书给推荐了,有点坑人。
《Python基础教程》,这么多书里,这本让我入门也是缘分。内容适度,一半是语法介绍,一半是小项目做演示。随便吐槽两点吧,第一,介绍yield语法时,那个八皇后解题真不算是好例子,应该选个更简单易懂的例子,当时我看了很久,一度怀疑自己的智商,因为之前例子都很简单,以为这个例子的理解难度也和之前差不多一致。第二,后面部分项目的顺序安排不是特别合理,没有做到由易到难,web编程那部分也有点落伍了。
语言的入门显然不是把书看完就可以。看完书后,正好有机会在工作中写了几个小程序,log文本分析,用echo方式测试丢包率,用Tkinter库写了个telnet界面。终于有入门的感觉了。
期间还做过部分Python challenge的题目,推荐一下,值得花些时间。
Pythonic在语法掌握后可以有意培养一下,Code Like a Pythonista这篇文章和其文末列出的引用文章,非常不错。
Python里Web框架众多,Web.py是蔚为大观的轻框架中著名一员,可以花几天时间看看,官网有中文教程。
至此,Python可以入门了。
Update:
最开始写本文的时候是2013年,那时候和我口味的,寥寥无几。短短几年,Python学习已经处于好时代,入门书籍中上乘之选已经很多。
《Python语言及其应用》,各方面都符合我口味的入门书籍。新书里的优先选择。
《Python编程 从入门到实践》,从入门到实践,确如书名。实践项目里都用到Django了,有些难度。可以和《Python基础教程》一较高下。