在这篇文章中,边肖为大家整理了python程序编译相关的知识点。感兴趣的朋友可以借鉴一下。
Python是编译语言还是解释语言?在回答这个问题之前,你应该知道什么是编译语言,什么是解释语言。
所谓编译执行,就是通过编译器对源代码进行编译处理,生成目标机器码,也就是机器可以直接运行的二进制代码,下次运行时不需要重新编译。
但是,它是特定于特定的CPU系统的。这些目标代码只能在特定的平台上执行。如果这个程序需要在另一个CPU上运行,这个代码必须重新编译。
不具备可移植性,但是速度很快,C和C之类的语言都是编译语言。
但是,解释语言在代码运行时是逐行翻译成目标机器码的,下次执行时,仍然需要逐行解释。我们可以简单的认为Java和Python都是解释性语言。
编制型就相当于厨师直接做一桌菜,顾客来了就直接吃,讲解型就像吃火锅。厨师洗碗,顾客需要自己做饭吃。
从效率上来说,解释性语言自然不如编译性语言,但当然也不是绝对的。比如JIT就很有效率。
以上是对编译语言和解释语言简单粗暴的区分,但Python(这里主要指CPython)并不是严格意义上的解释语言;
因为Python代码在运行前会被编译(翻译)成中间代码,所以每个。py文件将被转换成. pyc文件。pyc是一种字节码文件,它是独立于平台的中间代码,无论你把它放在Windows还是Linux平台上都可以执行。在运行时,虚拟机将逐行把字节码翻译成目标代码。
当我们安装Python的时候,会有一个Python.exe文件,就是Python解释器。你写的每一行Python代码都是它执行的。解释器由编译器和虚拟机组成。编译器负责将源代码转换成字节码文件,而虚拟机负责执行字节码。所以解释语言其实是有编译过程的,但是这个编译过程并不直接生成目标代码,而是生成中间代码(字节码),然后通过虚拟机逐行解释。
总结
Python会先编程一个字节码文件,然后虚拟机逐行解释,将每一行字节码翻译成目标指令供CPU执行。
知识点拓展:
基于python的字节编译
定义:
将模块定义为二进制语言程序的过程称为字节编译。
Python是一种解释性语言,它的字节编译是由解释器完成的。
pyc结束时编译py文件和生成文件的方法,
导入zipfile.py
关于python程序是否需要编译的这篇文章到此为止。有关编译python程序的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。