其实私一直很想推荐了,不过出于种种原因一直也没说。今天说一下吧……
这两个都是关于Python语言的教材(或者叫指导?),得先介绍一下Python。
Python是一种简单易用的解释型高级语言(也可以被粗略地分类为“脚本语言”)。所谓解释型,简单说就是无需事先生成二进制码,而是在运行时由其他语言“解释”成二进制码,再交由计算机执行。不同的平台上解释器可能不同,但是程序的源代码是相同的,因此只要带好源代码就可以在装有Python解释器的任何一个平台(包括Windows、Unix、类Unix以及很多私从未听过的平台)上面运行,同时由于解释器帮您承担了硬件调配工作,您可以专注于程序本身而不是如何管理内存等等操作。当然坏处也是显而易见的:执行效率肯定不如能精确控制内存和核心的C血统语言。
Python3.x发布之后由于有许多关键性的修正,不再与之前的版本兼容。所以目前2.x、3.x都有人使用,并且相对来说2.x可能用的人更多。不过如果您是新手,建议还是学习3.x,从此之后可以和编码的困扰永别了,对私这样的懒人真是一大福音。
说了这么久,终于到正题了……
首先是《非程序员 Python 编程概念》(对应python3.x)。地址在这里:
http://code.google.com/p/hashao/wiki/ChinesePythonTutor
这是迄今为止私见过的最简洁最好玩的Python教程。文风幽默、比喻精当、内容扼要。内容非常短,私以为快的话大概几十分钟就可以看完,但却介绍了Python大部分功能的基本用法(当然各种内置函数(Function)和方法(Method)是不可能在这么短的文章中解释清楚的),非常适合从未接触Python语言的人来一个概览。
比如里面有一段话:
“在Python里,次序是从0开始数的,开始是0,然后是1,2,3,4,5,所以上面的列表 alist的第一个内容,可以用alist[0]来提取,第二个用alist[1]来提取。就像年龄一样,一生下来是零岁,一年以后才是一岁,不是中国传统那样,生下来就一岁,那是虚岁。蟒蛇语言他只认准确的东西,不玩儿虚的。”
是不是很好玩?
当然,既然叫做“非程序员编程概念”,就是说只能让您理解主要概念,因而即使您看完了全文还并不能真正很好地编程(当然如果您就写个等差数列求和那是绰绰有余了),所以在文章的末尾,作者还推荐了一些教材,都是好书(并且好多都是中文版),深入学习很有好处。
不过私个人还是要推荐下一本书……
下一本,是Python界大名鼎鼎的《A Byte of Python》,官方网站在这里:
http://www.swaroopch.com/notes/Python
写这本书的是个印度人,叫Swaroop,那个SwaroopCH是他的官方网站,他还有一本书叫做《A byte of Vim》,是教Vim编辑器的。
《A Byte of Python》中文名为《简明Python教程》,有对应python2.x和3.x的版本(均可在官网找到),不过for 3.x的是没有中文版的(至少私没有找到)。其实中文版必要性并不太大,因为这本书的语言非常简洁(虽然一点也不幽默),用的语法也很简单,最多就是几个单词(术语)不容易认,稍微查查字典就可以了(而且您英文不认识的话翻译成中文还真未必明白,因为很多是术语)。大概看官们有知道私E文水平的,私这家底都能看,您还担心什么呢?
这本书同样是指导性质的书(而非参考性质,这点很重要),不过里面讲的可就系统多了,私以为完全可以作教材使用(相比之下Python的官方Tutorial倒是晦涩不少)。当您阅读完全书之后,最后一个任务是编写一个文本地址簿程序,如果您很快想到用什么方法并且最终实现的话,基本可以说您就掌握了Python的基础技巧。不过正如文中所说,这是“起步阶段的结束”,未来的路还很长,活到老学到老,大概……
嗯,先写这么多吧。有意者无聊者都可以去看看,两本书(和里面提及的参考资料)都是不错的。