从小工到专家
Do not store up for yourselves treasures on earth, where moth and rust consume and where thieves break in and steal; but store up for yourselves treasures in heaven, where neither moth nor rust consumes and where thieves do not break in and steal. For where your treasure is, there your heart will be also.(MATHEW 10:19-21)
不要为自己积攒财宝在地上,地上有虫子咬,能锈坏,也有贼挖窟窿来偷;只要积攒财宝在天上,天上没有虫子咬,不能锈坏,也没有贼挖窟窿来偷。因为的财宝在哪里,你的心也在哪里。
从小工到专家
这是每个程序员的梦想。
有一本书的名字就是《程序员修炼之道:从小工到专家》,我借用此书的标题。
但是,本书或许能够是你成为专家路上的一块铺路石,如果真能如此,我感到荣幸之至。
关于本书
我曾经在网上写过《零基础学Python(第一版)》,完成之后,发现有一些错误,并且整体结构对零基础的学习者还不是很适合。于是,就重新写了本教程,力图为零基础的学习者提供一个入门的教程。
本教程有幸得到了电子工业出版社的认可,已经集结成为《跟老齐学Python》一书出版(读者可以在各大网络书店搜索,欢迎购买)。但是,当书出版之后,我又萌生了进一步就该的设想,于是在2016年3月到5月期间,对网络教程进行了再次修订,并且定名为现在的名称——《跟老齐学Python:入门教程》——言外之意,还有别的教程。的确,在我计划之中,还要编写针对相关方面应用的教程。
对于本书,我再次强调,其对象零基础的学习者。之所以再次强调,是因为已经有读者误解了本书的目的。购买了之后,发现比较基础,于是就狂喷一通,并言之凿凿,“还不如看官方文档”。的确,Python的官方文档是最好的。如果能够直接阅读官方文档来学习,当然是一种不错的方法,并且这样的学习者也一定是高手,所以不是本书的读者。就此也建议才俊们,请看完成内容再喷无妨。
或许书中“干货”不多——人体约70%是水分,木乃伊才是干货——水是一种很好的溶剂,它存在书中,目的是别那么枯燥——或许这个目标没有完全实现,只能说是力争了,毕竟编程语言还是不如讲故事精彩。
我也非常欢迎读者能够以心平气和的方式跟我交流,以帮助我改进本书。所以,提供如下联系到我的途径:
- 加入QQ群,里面可以跟很多人交流。QQ群:Code Craft:26913719
- 关注我的新浪微博,名称是:老齐Py。地址:http://weibo.com/qiwsir
- 到github.com上直接follow我,名称是:qiwsir。地址:https://github.com/qiwsir
- 经常关注我的网站:www.itdiffer.com
现在的年代是一个“东风吹战鼓擂”的年代,能够心平气和讲话的本来就不多,但是气大伤肾,特别是年轻人,一定要小心啦。
Python的版本
关于Python的版本问题,是必须要交代的。
不管出于什么原因,我认为Python给自己搞了两个版本,是败笔。
虽然如此,但幸亏两个版本并非天壤之别,绝大部分是一样的。所以,学习者可以选择任何一种版本进行学习,然后在具体应用的时候,用到什么版本,只要稍加注意,或者到网上搜索一下,即可。
我在这里还整理了一篇文章:Python2.7.x和3.x版本的重要区别,不知是否愿意阅读?
但是,总有不放心的初学者。
我曾被无数次的拷问:教程是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的朋友询问:
“书已经看了,书上的代码也运行过了,但是还不知如何开发一个真正的应用程序,不知从何处下手。”
也遇到过一些大学生毕业生,虽然相关专业的考试分数是不错的(我一般是相信那些成绩是真的),但是,一讨论到专业问题,常常让我大跌眼镜,特别是当他面对真实的工作对象时,所表现出来的能力要比成绩单上的数字差太多了。
我一般会武断地下一个结论:练的少。
因此,从小工到专家,就要多练。当不是盲目地练习,如果找不到方向,可以从阅读代码开始。
阅读代码
有句话说的好:“读书破万卷,下笔如有神”。这也适用于编程。阅读别人的代码,是必须的。通过阅读,“站在巨人的肩膀上”,让自己眼界开阔,思维充实。
阅读代码的最好地方就是:www.github.com
如果还没有帐号,请尽快注册,他将是你作为一个优秀程序员的起点。当然了,不要忘记来follow我,我的帐号是: qiwsir。
阅读代码最好的一个方法是一边阅读,一边进行必要的注释,这是在梳理自己对别人代码的认识。然后,可以run一下,看看效果。当然,还可以按照自己的设想进行必要修改,再run。这样你就将别人的代码消化吸收了。
之所以run,使要看看这个程序运行结果是什么。除了调试别人的程序,还要调试自己的程序。
调试程序
首先要自己动手写程序。
“一万小时定律”在编程领域也是成立的,除非你是天才,否则,只有通过“一万小时定律”才能成为天才。
“拳不离手,曲不离口”,小工只有通过勤奋地敲代码才能成为专家。
为了帮助学习者调试动手敲代码,我正在推出一个项目《编程匠艺》训练,可以参加。
在写程序、调试程序的时候,一定会遇到很多问题。怎么办?
办法就是应用网络,看看类似的问题别人如何解决,不要仅仅局限于自己的思维范围。
利用网络就少不了搜索引擎。我特别向那些要想成为专家的小工们说:只有Google能够帮助你成为专家,其它的搜索引擎,只能让你成为“砖家”,乃至于“砖工”。所以,请用:google.com。
此外,还有其它的好网站,我会陆续向有意成为专家的朋友提供。
成为专家的通道千万条,但这两条路径是真道。
千里之行,始于足下。要学Python,就要有学习的环境。