一、Python是什么

Python是一种计算机程序设计语言。你可能在之前听说过很多编程语言,比如难学的C语言(语法和实现难度),非常流行的JAVA语言(尤其是现在分布式存储和服务),非常有争议的PHP(常见 WordPress 大多网站),前端HTML、JavaScripts、Node.JS、还有最近随着容器风行的Golang等等。那Python是What?


Python是由吉多·范罗苏姆(Guido van Rossum)在1989年的圣诞期间为了打发在阿姆斯特丹无聊的时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。

TIOBE 2016年6月编程语言排行榜,Python赶超PHP占据第四位

Python的前世今生_java


前 10 名编程语言长期走势图:

Python的前世今生_java_02


由上图可见,Python整体呈上升趋势,反映出Python应用越来越广泛并且也逐渐得到编程人员的喜爱和认可!!
 
Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。互联网公司广泛使用Python来做的事一般有:自动化运维、自动化测试、大数据分析、爬虫、Web 等。
 

二、Python的分类

Cpython:

Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。


 Jyhton:

Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。


 IronPython:

Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)


 PyPy:

Python实现的Python,将Python的字节码字节码再编译成机器码。

RubyPython、Brython ...等等
 
以上除PyPy之外,其他的Python的对应关系和执行流程如下:
 

Python的前世今生_java_03


PyPy,在Python的基础上对Python的字节码进一步处理,从而提升执行速度!

Python的前世今生_java_04


 

三、为什么要学Python

Python实用简单、高效、易入门(其实想深入还是挺难的)。不同的语言做相同的事情,编程的效率和代码数也不一样。比如完成同一个任务C语言可能需要写100行,Jave语言50行,但是Python可能 10行就能做到。
 
C 和 Python、Java、C#相比:

C语言: 代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作
其他语言: 代码编译得到 字节码 ,虚拟机执行字节码并转换成机器码再后在处理器上执行


 Python 和 C相比:(Python这门语言是由C开发而来)

对于使用:Python的类库齐全并且使用简洁,如果要实现同样的功能,Python 10行代码可以解决,C可能就需要100行甚至更多.
对于速度:Python的运行速度相较与C,绝逼是慢了。


Python 和 Java、C#相比:

对于使用:Linux原装Python,其他语言没有;以上几门语言都有非常丰富的类库支持
对于速度:Python在速度上可能稍显逊色


Python和PHP相比:

Python提供了丰富的数据结构,非常容易和c集成。相比较而言,php集中专注在web上。 php大多只提供了系统api的简单封装,但是python标准包却直接提供了很多实用的工具。python的适用性更为广泛,php在web更加专业,php的简单数据类型,完全是为web量身定做。

所以,Python和其他语言没有什么本质区别,其他区别在于:擅长某领域、人才丰富、先入为主。还是那句话,不在于你用哪种语言,而在于用的人。
 

Python的前世今生_java_05