python是基于什么原理_Python教程:了解python的执行原理

我们都知道,使用C/C++之类的编译性语言编写的程序,是需要从源文件转换成计算机使用的机器语言,经过链接器链接之后形成了二进制的可执行文件。运行该程序的时候,就可以把二进制程序从硬盘载入到内存中并运行。但是对于Python而言,Python源码不需要编译成二进制代码,它可以直接从源代码运行程序



36ba128414dd2000cbe2ce0d363151ea.jpg

我们都知道,需要将以C / C ++等编译语言编写的程序从源文件转换为计算机使用的机器语言,该语言是在 通过链接器链接二进制可执行文件。 运行该程序时,可以将二进制程序从硬盘加载到内存中并运行。

但是对于Python,Python源代码不需要编译为二进制代码,它可以直接从源代码运行程序。 Python解释器将源代码转换为字节码,然后将编译后的字节码转发到Python虚拟机(PVM)以执行。 接下来,通过图描述Python程序的执行过程,如图1所示。

1642586036.jpg

在图1中, 当我们运行Python文件程序时,Python解释器将执行两个步骤:

(1)将源代码编译为字节码

编译后的字节码是特定于表现形式的 对Python而言,它不是二进制机器代码,需要机器进行进一步的编译,这就是为什么Python代码无法像C / C ++一样快地运行的原因。

如果Python进程对计算机具有写许可权,则它将程序的字节码另存为扩展名为.pyc的文件。 如果Python无法在机器的分区代码中写单词,则字节码将在内存中生成并在程序结束时自动丢弃。 最好在构建程序时授予Python在计算机上写的权限,以便只要未更改源代码,就可以重用所生成的.pyc文件以提高执行效率。

(2)将编译后的字节码转发到Python虚拟机(PVM)以执行

PVM是Python虚拟机的缩写,它是Python运行引擎 是Python系统的一部分,它是一个迭代运行字节码指令的大循环,一个接一个地完成操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值