什么是 python 中的编译和链接过程?
编译 − Python 中的源代码保存为 .py 文件,然后编译成字节代码格式,字节代码再转换为机器代码。编译后,代码存储在 .pyc 文件中,并且在更新源代码时重新生成。此过程称为编译。
链接 − 链接是将所有函数链接到其定义的最后阶段,因为链接器知道所有这些函数在哪里实现。此过程称为链接。
image compilation.jpg-----
注意 − Python 程序既被编译又会被解释,但编译部分对程序员是隐藏的。因此,我们通常说 Python 出于相同的原因是一种解释语言。
我们来看看一个例子。对于我们的示例,我们将使用 Python 中的 dis 模块。
安装并导入 dis 模块
要安装 dis 模块,请使用 pip −
pip install dis
要导入 dis 模块 −
import dis
示例
现在让我们看一个示例
import dis # Function to return the sum of recursive numbers def recursive_sum(n): if n <= 1: return n else: return n + recursive_sum(n-1) # change this value for a different result number = 16 if number < 0: print("The sum = ",recursive_sum(number)) # By using dis module, the bytecode is loaded into machine code, and a piece of code that reads each instruction in the bytecode and executes whatever operation is indicated. dis.dis(recursive_sum)
输出
5 0 LOAD_FAST 0 (n)
2 LOAD_CONST 1 (1)
4 COMPARE_OP 1 (<=)
6 POP_JUMP_IF_FALSE 12
6 8 LOAD_FAST 0 (n)
10 RETURN_VALUE
8 >> 12 LOAD_FAST 0 (n)
14 LOAD_GLOBAL 0 (recursive_sum)
16 LOAD_FAST 0 (n)
18 LOAD_CONST 1 (1)
20 BINARY_SUBTRACT
22 CALL_FUNCTION 1
24 BINARY_ADD
26 RETURN_VALUE
28 LOAD_CONST 0 (None)
30 RETURN_VALUE
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言程序设计
C++
C#
MongoDB
MySQL
Javascript
PHP