python简介
编程语言定义:语言即人与人之间沟通的符号/工具,编程语言即人与计算机之间沟通的符号/工具(所有编程语言的本质都是让计算机帮你干活)
编程语言分类:
机器语言:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。 优点:灵活、直接执行和速度快。 缺点:不同型号的计算机其机器语言是不相通的,按着一种计算机的机器指令编制的程序, 不能在另一种计算机上执行。 汇编语言:汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的 标识符更容易识别和记忆。它同样需要编程者将每一步具体的操作用命令的形式写出来。 优点:能完成一般高级语言所不能实现的操作,而且源程序经汇编生成的可执行文件不仅比较小, 执行速度很快。 缺点:源程序比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识。 高级语言:高级语言是绝大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为 单条指令并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大 简化了程序中的指令。同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。 高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行, 按转换方式可将它们分为两类: 解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻 译”成目标代码(机器语言),一边执行。 优点:这种方式比较灵活,可以动态地调整、修改应用程序。 缺点:效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器。 编译类:编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言)。 优点:其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。 缺点:但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件才能执行,只 有目标文件而没有源代码,修改很不方便。大多数的编程语言都是编译型的 例如Visual C++、Visual Foxpro、Delphi等。
编程语言排行与发展趋势:
驱使计算机干活的工具有很多(跨平台的java语言,高效率的C语言,提供网页动效的javascript)
下图为各种流行计算机语言排名,与发展趋势
上图摘自http://www.tiobe.com/tiobe-index/
关于python:属于高级,解释类语言
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的字节码字节码再编译成机器码。在Python的基础上对Python的字节码进,一步处理,从而提升执行速度
- RubyPython、Brython ...
以上除PyPy之外,其他的Python的对应关系和执行流程如下:
python应用领域:
Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。互联网公司广泛使用Python来做的事一般有:自动化运维、自动化测试、大数据分析、爬虫、Web 等。
python与其他流行语言比较:
C 和 Python、Java、C#等
C语言: 代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作
其他语言: 代码编译得到 字节码 ,虚拟机执行字节码并转换成机器码再后在处理器上执行
Python 和 C Python这门语言是由C开发而来
对于使用:Python的类库齐全并且使用简洁,如果要实现同样的功能,Python 10行代码可以解决,C可能就需要100行甚至更多.
对于速度:Python的运行速度相较与C,绝逼是慢了
Python 和 Java、C#等
对于使用:Linux原装Python,其他语言没有;以上几门语言都有非常丰富的类库支持
对于速度:Python在速度上可能稍显逊色
所以,Python和其他语言没有什么本质区别,其他区别在于:擅长某领域、人才丰富、先入为主。