X Tutup
> The fear of the LORD is the beginning of knowledge; fools despise wisdom and instruction.(PROVERBS 1:7) >敬畏耶和华是知识的开端,愚妄人藐视智慧和训诲。 #关于Python的故事 我已经在[《零基础学Python(第一版)》](https://github.com/qiwsir/ITArticles/blob/master/BasicPython/index.md)中写了一个专门讲述Python故事的——[唠叨一些关于Python的事情](https://github.com/qiwsir/ITArticles/blob/master/BasicPython/001.md)——章节,今天再写类似的标题,不打算完全重复原来的,只是把部分认为重要的或者不可或缺的东西复制过来。 原来写了第一版,现在又写第二版,显然是对第一版不满意。不满意在哪里呢? - 第一版的有些知识阐述还不完善,也有不严谨之处,当然,第二版也会有,但试图修正 - 第二版较第一版,在内容上要进行大幅度扩展 总之,第二版要有优于第一版的地方,所以,请读者还是阅读此版。 ##越来越火的Python 在前几年(before 2011),我跟一些朋友介绍python的时候,看到的常常是一种很诧异的眼神,通常会听到: “那时什么东西?” “解释性语言会不会很慢?” “没听说谁用呀?” “能像php,java,c#那样用来做网站吗?” “什么?你说的是pascal?你还在用这个老古董?” “哦,我听说过,有一些老外在用,不过我们这还没有人用呢。” 时过境迁,现在已经有了很大变化。 2014年初,我开始写《零基础学Python》系列,就得到了很多朋友的支持,而且吸引了不少学习Python的朋友,特别是在我的那个QQ群里面,集中了不少学习者和爱好者,当然也有高手深藏不露。 获得我发布的有关Python信息途径: 1. 加入QQ群,里面可以跟很多人交流。QQ群:Code Craft:26913719 2. 关注我的新浪微博,名称是:老齐Py。地址:http://weibo.com/qiwsir 3. 到github.com上直接follow我,名称是:qiwsir。地址:https://github.com/qiwsir 4. 经常关注我的网站:www.itdiffer.com 特别是2015年一开始,在QQ群(26913719)里面,就有朋友说,他在上海找工作,看到好多公司都要有Python开发经验的。也有朋友委托我推荐Python程序员的。 从我自己的经历中也感受到,用Python的领域越来越多,找Pythoner的公司和机构也越来越多了。 所以,学习Python,挺好(包括女生,也是“挺”好)。更何况,Python还是适合于更多领域的语言,学习者可以涵盖从小学生到大学生,应用领域更是覆盖了从web开发到GUI,在大数据、机器学习等这些领域,更是独树一帜。推荐阅读[《大数据全栈式开发语言 – Python》](http://insights.thoughtworkers.org/full-stack-python/)。 所以,学习Python性价比最高,划算。 但是,有一个在我来看不是问题,但是在很多初学者来看,是一个天大问题:是学习Python 2还是学习Python 3? ##Python的版本 不管出于什么原因,我认为Python给自己搞了两个版本,是败笔。 虽然如此,但幸亏两个版本并非天壤之别,绝大部分是一样的。所以,学习者可以选择任何一种版本进行学习,然后在具体应用的时候,用到什么版本,只要稍加注意,或者到网上搜索一下,即可。 我在这里还整理了一篇文章:[Python2.7.x和3.x版本的重要区别](https://github.com/qiwsir/StarterLearningPython/blob/master/n005.md),不知是否愿意阅读? 但是,总有不放心的初学者。 我曾被无数次的拷问:教程是Python 2还是Python 3? 我非常想告诉他什么都支持,但是,我的代码的确是在Python 2下调试的,总不能撒谎吧。于是当我如实奉告的时候,他会说要学习Python 3,转头找那些号称是Python 3的教程。 无奈。 为了迎合学习者胃口,我的教程,**从即日起,逐渐修改代码,适合于Python 3**。 从此,本教程宣称:**支持Python 2和Python 3**。如遇到不符合此宣称的地方,是因为还没有修改到那里呢。 还要说一句,上述宣称的最终解释权归本教程作者。 不管是2还是3,总要从零开始学习,从零开始学,就意味着不需要基础。这个我有信心。 ##需要什么基础吗 这是很多初学者都会问的一个问题。诚然,在计算机方面的基础越好,对学习任何一门新的编程语言,都是更有利的。如果,你在编程语言的学习上属于零基础,也不用担心,不管用哪门语言作为学习编程的入门语言,总要有一个开始吧。 就我个人来看,Python是比较适合作为学习编程的入门语言的(作为学习编程的入门语言,我现在最不理解的是用C,因为很多曾经立志学习编程的人学了C语言之后,才知道自己不适合编程。难道是用C来筛选这个行业的从业者吗?)。总之,不用担心自己的所谓基础问题。 看我这个教程的标题,就是强调“零基础”的。 不仅我这么认为,美国有不少高校也这么认为,纷纷用Python作为编程专业甚至是非编程专业的大学生入门语言。 最后的结论是:学习python,你不用担心基础问题。 **特别是看我的教程,我的目标就是要跟你一起从零基础开始,直到高手境界**。 所以,尽管放胆来学,不用犹豫、不要惧怕。还有一个原因,是因为她优雅。 ##优雅的Python Python号称是优雅的。但是这种说法仁者见仁智者见智。比如经常听到大师们说“数学美”,是不是谁都能体验到呢?不见得吧。 所以,是不是优雅,是不是简单,是不是明确,只有“谁用谁知道”,只有内行人才能理解。 不过,我特别喜欢下面这句话:**人生苦短,我用Python**。意思就是说,Python能够提高开发效率,让你短暂的人生能够除了工作之外,还有更多的时间休息、娱乐或者别的什么。 或许有的人不相信,那就比较一下吧。 ##跟别的语言比较 “如果你遇到的问题无法用Python解决,这个问题也不能用别的语言解决。”——这是我向一些徘徊在Python之外的人常说的,是不是有点夸张了呢? 最近看到了一篇文章,[《如果编程语言是女人》](http://www.vaikan.com/if-programming-languages-are-woman/),我转载如下(考虑到篇幅所限,所了适当删改,要阅读非删减版,请通过连接查看原文): ![](./0images/01.jpg) >PHP是你的豆蔻年华的心上人,她是情窦初开的你今年夏天傻乎乎的追求的目标。玩一玩可以,但千万不要投入过深,因为这个女孩有严重的问题。 >Ruby是脚本家族中一个非常漂亮的孩子。第一眼看她,你的心魄就会被她的美丽摄走。她还很有有趣。起初她看起来有点慢,不怎么稳定,但近些年来她已经成熟了很多。 >Python 是Ruby的一个更懂事的姐姐。她优雅,新潮,成熟。她也许太过优秀。很多小伙都会说“嘿,兄弟,你怎么可能不爱上Python呢!?”。没错,你喜欢Python。你把她当成了一个脾气和浪漫都退烧了的Ruby。 >Java是一个事业成功的女人。很多在她手下干过的人都感觉她的能力跟她的地位并不般配,她更多的是通过技巧打动了中层管理人员。你也许会认为她是很有智慧的人,你愿意跟随她。但你要准备好在数年里不断的听到“你用错了接口,你遗漏了一个分号”这样的责备。 >C++ 是Java的表姐。她在很多地方跟Java类似,不同的是她成长于一个天真的年代,不认为需要使用“保护措施”。当然,“保护措施”是指自动内存管理。你以为我指的是什么? >C 是C++的妈妈。对一些头发花白的老程序员说起这个名称,会让他们眼睛一亮,产生无限回忆。 >Objective C C语言家族的另外一个成员。她加入了一个奇怪的教会,不愿意和任何教会之外的人约会。 虽然是娱乐,或许有争议,权当参考吧。 所以,Python值得拥有。 在正式开始学习之前,首先要告诉你成为Python高手的秘诀。 ##The Zen of Python 这就是著名的《Python之禅》。 >Beautiful is better than ugly. >Explicit is better than implicit. >Simple is better than complex. >Complex is better than complicated. >Flat is better than nested. >Sparse is better than dense. >Readability counts. >Special cases aren't special enough to break the rules. >Although practicality beats purity. >Errors should never pass silently. >Unless explicitly silenced. >In the face of ambiguity, refuse the temptation to guess. >There should be one-- and preferably only one --obvious way to do it. >Although that way may not be obvious at first unless you're Dutch. >Now is better than never. >Although never is often better than *right* now. >If the implementation is hard to explain, it's a bad idea. >If the implementation is easy to explain, it may be a good idea. >Namespaces are one honking great idea -- let's do more of those! “吃水不忘挖井人”,谁创造了Python,我们一定要感恩并崇拜。 ##感谢Guido van Rossum Guido van Rossum 是值得所有pythoner感谢和尊重的,因为他发明了这个优雅的编程语言。他发明python的过程是那么让人称赞和惊叹,显示出牛人的风采。 >1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。之所以选中Python作为程序的名字,是因为他是一个蒙提·派森的飞行马戏团的爱好者。ABC是由吉多参加设计的一种教学语言。就吉多本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的。但是ABC语言并没有成功,究其原因,吉多认为是非开放造成的。吉多决心在Python中避免这一错误,并取得了非常好的效果,完美结合了C和其他一些语言。 这段故事的英文刊载在:[https://www.python.org/doc/essays/foreword/](https://www.python.org/doc/essays/foreword/) Python已经让人心动了。除了心动,还要行动;只有行动,才能“从小工到专家”。 ------- [总目录](./index.md)   |   [下节:从小工到专家](./02.md)
X Tutup