不关注Python已经有2年多了。两年前,不但自己写Python程序,还组织了一个小团队一起写程序,还创建了一个知乎专栏,把一些成果总结出来。然后就放了2年多,但是从前天开始,我又突然琢磨起Python来了。
要学习哪些Python知识?我认为首先要清楚用Python来做什么。基于我联络的或者服务的朋友,我观察到3类用途,当然,我的圈子和观察还是很狭窄的,目的仅仅是想说明一下:要想清楚干什么再讨论学Python哪些知识。
1,刚开始学习编程的初学者:从前天开始突然看Python资料是有原因的,因为我的孩子刚上大学,学计算机科学专业,第一周跟计算机有关的第一节课是一个实验课,讲的就是Python。为什么选这个编程语言?应该给孩子推荐一些什么辅导材料?因为虽然说是上课,其实都没有书的,老师讲的都不知道飞哪去了。我查了很多资料,我认为这种教法很对。Python语言可以让初学者体验到编程的乐趣。而且可以激发创新。你脑子中可以有各种奇思妙想,然后你就去Python社区去寻找可以实现这些想法的模块。所以,我查到好多资料都提到了乐高积木,也是这个原因吧。
2,数据分析岗位:因为我的工作性质的原因,接触这类人很多,他们都在特定领域里的专业人士,但不是专业的程序员,但是,有Python和社区中的软件模块,他们可以快速地去用Python解决问题。我看到老师回答一个学生的问题时说:只要把基本的Python用法学会就行了,现在不追求全面,等需要的时候自己去查吧。
3,程序员:我是指像我这种以编程为饭碗的人。我们在工作中零零散散用Python解决过很多问题,都是为一个大程序补充覆盖不到的场景。公司运转近10年,招聘过各种各样的程序员,但是从来没有专门招聘Python程序员,在我看来Python那是都能自己搞明白的,就像Linux的shell一样,即使写不出复杂的程序也能会10个8个命令,一旦真的需要写一个复杂一点的程序,给你半天时间你还能折腾不出来。还有Python本身的灵活性和社区的自由度,在决定是否用Python做大程序的时候,往往会不看好Python。因为这个原因,今年初大家就吵翻天了。我们的产品面临一次大改版,而在这个领域谈的最多的是用Python。我否决了用Python。我的理由是:以往为Python投入那么多,但是产出的东西太散,无法形成资产积累的效果。目前看来,我的决定是正确的,因为所有做的比较好的友商都采用了我所选择的技术路线,我想即便我自己智力有限,大家不可能都愚昧吧。
不多说了,虽然Python是很好的编程语言,关键先确定要做什么,然后看Python是否合适。至于是否要预先学一些相关知识储备着,我觉得意义不大,现用现学就行。但是,如果为了面试一个Python岗,那还得预先学一些,谁知道会问出来什么刁钻问题呢,只为了准备面试也许就够了吧。