Python studyday2
Posted studywen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python studyday2相关的知识,希望对你有一定的参考价值。
一.高级语言
- 高级语言是大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单挑指令,并且去掉了与具体曹祖有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。
- 高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如C\C++,Java,PHP,Python,GO,C#等都属于高级语言。
- 相比机器和汇编语言,高级语言对开发人员更友好,在开发效率上大大提高!
二.高级语言的分类
- 高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行。
按转换方式分为两类:
编译类:
- 编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行(编译后生成的可执行文件,是cpu可以理解的2进制的机器码组成的),使用比较方便、效率较高。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(*.obj,也就是OBJ文件)才能执行,只有目标文件而没有源代码,修改很不方便。
- 编译后程序运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如C、C++、Delphi等。
解释类:
- 执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器(想运行,必须先装上解释器,就像跟老外说话,必须有翻译在场),但这种方式比较灵活,可以动态地调整、修改应用程序。如Python、Java、PHP、Ruby等语言。
三.编译VS解释
编译型:
1.把源代码编译成机器语言的可执行程序
2.执行 可执行程序文件
优点:
1.程序执行时,不再需要源代码,不依赖语言环境,因为执行的是机器的文件
2.执行速度快,因为你的程序代码已经翻译成了是计算机可以直接理解的机器语言
缺点:
1.每次修改了源代码,需要重新编译,生成机器码文件
2.跨平台性不好,不同操作系统。调用底层的机器指令不同,需为不同平台生成不同的机器码文件
解释型:
1.用户调用解释器,执行源代码文件
2.解释器把源代码文件边解释成机器指令,边交给cpu执行
优点:
1.天生跨平台,因为解释器已经做好了对不同平台的交互处理,用户写的源代码不需再考虑平台差异性,可谓一份源代码,所有平台都可直接执行
2.随时修改,立刻见效,改完源代码后,直接运行看效果
缺点:
1.运行效率低,所有的代码均需经过解释器边解释边执行,速度比编译型慢很多
2.代码是明文
总结
- 机器语言
优点是最底层,速度最快,缺点是最复杂,开发效率最低
- 汇编语言
优点是比较底层,速度最快,缺点是复杂,开发效率最低
- 高级语言
编译型语言执行速度快,不依赖语言环境运行,跨平台差
解释型跨平台好,一份代码到处使用,缺点是执行速度慢,依赖解释器运行
四.Python解释器种类
- CPython
当我们从Python官方网站下载并安装好Python 2.7后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。
- IPython
IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互式上有所增强,但是执行PYthon代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。
- Jython
Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
- PyPy
PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对PYthon代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。
- IronPython
IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。
以上是关于Python studyday2的主要内容,如果未能解决你的问题,请参考以下文章