计算机语言&Python解释器

发布时间:2019-08-25 09:35:04编辑:auto阅读(1512)

    [TOC]

    1.计算机语言的分类

    计算机语言&Python解释器

    1.1机器语言

    由于计算机内部只能接受二进制代码,因此,用二进制代码0和1描述的指令称为机器指令,全部机器指令的集合构成计算的机器语言
    机器语言属于低级语言

    1.2汇编语言

    汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过使用英文指令标识符,具备一定的逻辑性,便于理解和记忆
    但同样还是很复杂,很冗余,一个简单的功能,需要写很多的程序代码
    但还是有优点的,用汇编语言能完成的操作不是一般高级语言能实现的,而且源程序经汇编生成的可执行文件不仅小,而且执行速度快
    计算机语言&Python解释器

    1.3高级语言

    高级语言包含c,c++,java,php,python,go,和汇编语言相比,高级语言对程序员更加友好,开发效率更高。
    高级语言所编制的程序是不能被计算机直接识别的,必须经过转换才能被执行!
    高级语言之间的本质区别:转换方式不同
    根据转换方式的不同,分为两类

    编译类

    编译是指在应用源程序执行之前,就把程序源代码“翻译”成目标代码(机器语言),因此目标程序可脱离其语言环境独立运行(编译后生成的可执行文件,是cpu可以理解的二进制机器码组成的),使用比较方便,效率比较高。但是应用程序报错,需要修改,就必须修改源代码,然后重新编译生成新的机器码文件才能执行,生成的机器码文件是不能修改的,安全性较高。
    编译后程序运行时不需要重新翻译,直接运行机器码文件,可脱离源码文件,由于生成的是机器码文件,所以运行效率较高。但是由于对不同的操作系统,调用cpu的二进制指令是不同的,所以跨平台性差。如C、C++、Delphi

    解释类

    执行方式类似于日常生活的"同声翻译",程序源代码一遍由操作系统自带的解释器“翻译”成机器语言,一遍执行,所以效率相对较低,而且不能生产可独立执行的文件,因此程序不能脱离解释器(想运行,必须有解释器,就像鱼外国人交流,要有翻译在场),但这种方式比较灵活,可动态调整,修改应用程序。如Java、Python、PHP、ruby
    计算机语言&Python解释器

    编译型语言VS解释性语言

    编译型:
    1.把源代码变异成机器语言的可执行文件,例如我们常在Windows上的安装包.exe文件
    2.执行.exe文件
    优点
    1.程序执行时,不需要源码,不依赖语言环境,因为可执行的是机器码文件
    2.执行速度快,因为源代码已经翻译成了计算机可直接理解的机器语言
    3.生成的机器码文件是不能查看和修改的,所以安全性较高。
    缺点
    1.每次修改或报错,都需要重新修改源代码,并编译生成机器码文件
    2.跨平台性不好,因为不同的操作系统,调用底层硬件的二进制指令不同,需要为不同的操作系统生成不同的操作指令
    解释型
    1.用户调用解释器,执行源码文件
    2.解释器把源代码边解释便声称机器码指令,边交给CPU执行。不同的操作系统已经自带了解释器
    优点
    1.跨平台性好,因为解释器已经做好了对不同平台的交互处理,用户写的源代码不要考虑平台差异,一份代码,所有平台都能直接运行。
    2.随时修改,立即生效,直接运行查看结果
    缺点
    1.运行效率相对解释型语言较低,因为所有的程序都是边解释边运行。
    2.代码是明文,安全性不高

    2.python介绍

    2.1python解释器种类

    CPython
    当我们从Python官网下载并且安装好PYthon2.7后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。
    IPython
    IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。
    PyPy
    PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(不是解释),所以可以显著提高Python代码的执行速度
    JPython
    JPython是运行在java平台上的Python解释器,可以直接把Python代码变异成java字节码执行
    IronPython
    IronPython和JPython类似,只不过IronPython是运行在微软.net平台上的Python解释器,可以直接把Python代码变异成.Net字节码

    2.2python 2.x or 3.x

    Python3.x之前不是能兼容2.x的,但是由于很多公司都是使用的python2.x版本,并且代码量已经很多了,很难特别快的就进行版本的升级,所以Python语言的创始人就开发了python2.7版本,兼容2.x和3.x的功能,给公司一个版本升级的过渡时间。
    但是2.7版本有效期到2020年,所以新的企业都在使用Python3.x版本。

    3.小节:

    机器语言
    优点是最底层,速度最快,缺点是最复杂,开发效率最低
    汇编语言
    优点是比较底层,速度最快,缺点是复杂,开发效率低
    高级语言
    编译型语言速度快,跨平台
    解释型语言跨平台好,一代码,到处使用。缺点是毒素相对慢,以来解释器
    python解释器种类
    Cpython Ipython Jpython PyPy IronPython
    Python2.x与Python3.x

关键字