解释型语言和编译型语言
计算机无法识别高级语言,所以当我们运行高级语言程序时,需要一个“翻译器”将高级语言转换成计算机可读的
理解机器语言的过程。这个过程分为两类,一类是编译,二是解释。
在程序执行之前,编译语言会先通过编译器对程序进行编译处理,将程序转化为机器语言。运行时无需翻译,直接执行即可。最典型的例子是C语言。
解释型语言没有这个编译过程,但是在程序运行时,程序通过解释器逐行解释,然后直接运行。最典型的例子是Ruby。
通过上面的例子,我们可以总结出解释型语言和编译型语言的优缺点,因为编译型语言在程序运行之前就已经“翻译”了程序,所以运行时的“翻译”比较少。 ”流程,所以效率比较高。但我们不能一概而论,一些解释型语言在翻译程序时也可以通过解释器的优化来优化整个程序,使效率接近编译型语言,但不能超过编译型语言。
另外,随着Java等基于虚拟机的语言的兴起,我们不能将语言单纯地分为解释语言和编译语言。
以Java为例,Java首先由编译器编译成字节码文件,然后在运行时由解释器解释成机器文件。所以我们说Java是一种先编译后解释的语言。
Python 是一种解释型语言,在我发现 *.pyc 文件的存在之前,我一直相信这一点。
如果是解释型语言,生成的 *.pyc 文件是什么? c应该是compiled的缩写!
为了不让其他学习Python的人被这句话误解,那么我们将在文中澄清这个问题,澄清一些基本概念。 python不完全是
它是一种解释性语言。它被编译。首先将源码py文件编译成pyc或pyo,然后由python虚拟机执行。与py文件相比,编译成pyc和pyo。
pyo本质上和py没有太大区别,只是这个模块的加载速度提高了,代码的执行速度并没有提高。通常不需要主动编译pyc文件。
文件,文档说只要调用import model,model.py就会被编译成pyc然后加载
Python到底是什么
事实上,Python 和 Java/C# 一样,也是一种基于虚拟机的语言。我们先从表面上简单了解一下Python程序的运行过程。
当我们在命令行输入 python hello.py 时,我们实际上激活了 Python“解释器”并告诉“解释器”:你即将开始工作。但在“解释”之前,首先要做的工作其实是编译,跟Java一样。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python如何从字符变为整数09/18
- ♥ 如何用python求n的阶乘并输出?09/09
- ♥ python中pyquery的CSS选择器用法11/02
- ♥ 如何在 Python 中处理类似 PS 的图像11/15
- ♥ 如何检查 python.exe 文件在哪里?08/29
- ♥ 如何下载 python-docx 模块10/05
内容反馈