返回宝典

Python 简介

上一节 下一节

有人会把“python的运行速度慢”当作python的缺点;那是因为他们是外行,这不叫缺点,而叫特点;python注重的是开发效率(人生苦短,我用python);另外,慢与快是相对的,python相对于人类的心算速度,那简直是快太多了;C语言相对于汇编语言,那也是慢很多。


松本行弘的编程之道

别误会,松本行弘跟python语言关系并不大;Python语言的作者是荷兰人Guido van Rossum,而松本行弘是Ruby语言的作者。这两门语言的设计哲学是非常类似的。这里只是想用松本行弘的编程之道来阐述python语言的内在哲学。

为什么说python和ruby是极其优雅简洁、极其人性的语言?因为以往的很多编程语言是站在极其的角度,追求程序运行的效率;而python则是从人的角度出发,在乎的是开发者的开发效率、代码写起来是否令人心旷神怡。

而对于运行效率来说,现代机器的运行效率已经足够快了,当运行时间不是瓶颈问题的时候,使用C语言和Python语言实现同样某个功能,也许前者耗时0.0001s,而后者耗时0.01s,即前者比后者运行效率快100倍,但是耗时上0.0001s与0.01s对于人类来说都是一眨眼的功夫,只要运行时间不是瓶颈问题,这两个程序就都能满足需求,在实用角度上,都ok啦;但是不一样的是,C语言实现这个功能可能需要开发者花3个小时来实现功能,而python语言则需要10分钟就能实现同样功能;这就意味着Python的开发效率比前者高很多。因此,功能上都能同样实现,为何不选择开发效率更高的编程语言呢?何乐而不为呢?这就是松本行弘的编程之道中核心想阐述的事情,即以往的编程语言设计都在追求程序的运行效率,而忽略了开发效率。

而Ruby和Python就是那种注重开发效率、从人性角度出发、简洁优雅的语言。


编程语言不以运行效率来论英雄,不同的编程语言有不同的应用场景(上述C与Python的对比,只是就事论事,并非贬低C语言,C语言的应用场景与Python有较大区别);而在这个时代以及下一个时代的应用型场景下,机器的成本越来越便宜,开发效率会长期成为关注重点。


Python2 与 Python3

Python2.7或2.6等一切以2开头的版本,都统称Python2;Python3则是开头是3的版本。Python2与Python3是并轨的关系,两者有一定区别。Python3仍然在发展,也许有一天Python3会取代Python2;虽然现在Python官方在主推Python3,但是在当下的受众依然以Python2为主,以及Python的生态系统中,依然是以Python2为主流。

不过这些是暂时的,Python3取代Python2确实是存在这个趋势的,只是这个过程可能会时间跨度比较长;另外从Python2迁移到Python3并非难事,只是习惯、喜好、团队合作的问题;对于Python3,这里也是持推荐态度,但并非是强行推荐;使用Python3并不代表比Python2更前卫更专业,专业与品味都是来自于对基础的扎实、对现实的眷顾;Python2和Python3只是一个细节问题,不必太过纠结与苛刻。

因此,建议暂时还是以Python2为主;本教程是Python2的学习教程。精神分裂一下,其实Python3彻底取代Python2的这个趋势还是比较明显的,大概在2020年左右会是彻底取代的一个分水岭。因此,直接入手Python3也是可以的,不过这里是Python2的教程,所以会为Python2来说话。世界上的分歧本身就很多。不过不管是想学Python2还是Python3,本教程都值得阅读学习。


Python 简介

上一节 下一节