Python 程序员的编程能力

首先我们来定义一下什么叫编程才干。私以为应该同时包括两个局部:写代码的能

力,以及算法、数据结构设计才干。

从小学四年级末尾学QBasic,到中学学Pascal和C,本科时一发不可收拾,干挺C++、Java的同时搞定Obj-C,读研前又很快的掌握了Python,最近又学了Swift,用过这么多言语的独一感想只不过是一个初级言语除了区分是对象化的还是进程化,其他什么的区别不大,它就是个言语而已。用QB异样可以写个平衡树,C没有STL的话要用到的功用自己写一遍就好,也不会太复杂。

Python是个解释言语,同时还是个语法自在度相当大的言语,这就意味着写顺序时绝大少数错误是只要当你的顺序跑到出错语句的时分才会提示出来的,这一点与其他编译言语差异十分大,以致于当你用Python写个不太小的玩意时,必需有十分明晰的概念、对言语和对顺序流程的掌握。Python里恣意变量都是对象指针的设计,使得编程的人必需了解解释器运转机制。从这一点看,Python关于树立编程概念,了解顺序运转机制是有很大协助的。比起无脑Debug-Watch,缜密的思想以及看着代码就能准确剖析运转状况的才干,更有助于写出优秀的代码,也是对代码才干的锻炼。

至于算法才干的锻炼,与言语自身毫有关联,Python相比C++一辈最大的益处就是在编程之时不需求为诸如变量央求之类的效果操心,可以愈加流利地完故意中所想。我喜欢用Python做算法和思想的验证,就是由于省事,学习、了解算法,甚至设计新的算法,重要的还是个量的效果。思索够了,就要迅速完成,然后尝试更多方案。因此,Python这样一个编程省时的言语是提高算法才干的好工具。

总体来说,无论写代码才干还是算法设计才干,都是靠多写和多想来锻炼的。Python会不会降低编程才干,也就看会不会增加你写和想的时机。

老一派的顺序员能够会觉得Python这种玩意有少量模块,很多代码不用自己写,增加了写复杂内容的时机。理想上是一个顺序好不好并不是由手写快排或许捏个平衡树之类的玩意确定的。面对有STL的C++,你还会蛋疼到为了排个数组而写快排么?中学时我能把Splay tree背得倒背如流,10分钟能用Pascal敲400来行写一个Splay tree,但是那又如何?单调重复的代码背上去写一万遍并不会提高编程才干,甚至算不上多写。相反,如今他人都造好了轮子等你来用,一方面能更快完成目的,异样的时间里你能写更多的不同的顺序,另一方面能针对自己的需求对轮子停止改造,有决计的话把个轮子改形成直升机螺旋桨都不成效果。Python给予了更大的发明的空间,与多写多想并不矛盾。

非要说Python的效果,那就是执行效率了。不过好歹效率还没差出两三个数量级,做做原型啊思想验证啊什么的,效率也不是最重要的效果。原型验证了,有继续开发的价值,影响效率的局部用别的言语写一遍编译一下就好了嘛!Python就像画速写和素描,或许比不上油画,后续最终不能挂上画框展开览,但一定是锻炼基础的有力工具。

要明白一点,编程并不是搬砖的活计,不把自己当艺术家,好歹也要当自己是个工匠,而不是个苦力小工。

提供最优质的资源集合

立即查看 了解详情