跳至主要内容

compile()

Python 中的 compile() 函数 是一个内置函数,用于将源代码编译为代码或 AST 对象。该函数采用三个参数:sourcefilenamemodesource 参数表示要编译的源代码,filename 参数表示从中读取代码的文件,mode 参数指定编译模式(eval、exec 或 single)。compile() 函数返回一个代码对象,可以使用 exec() 函数执行该对象。

参数值

参数 说明
source

包含要编译的 Python 源代码的字符串。

filename

从中读取代码的文件。如果代码不是从文件中读取的,则可以将其设置为“<string>”。

mode

应编译源代码的模式。可能的值为“exec”、“eval”和“single”。

返回值

compile() 返回类型是 Python 中的 code 对象

如何在 Python 中使用 compile()

示例 1

compile() 函数用于将源代码编译为代码或 AST 对象,以后可以动态执行或评估该对象。

code = 'print(123 + 456)' 
compiled_code = compile(code, 'example', 'exec') 
eval(compiled_code)
示例 2

compile() 函数可以将字符串、文件或 AST 对象作为输入,并返回一个代码对象以供以后执行。

with open('script.py', 'r') as file: 
    compiled_code = compile(file.read(), 'script.py', 'exec') 
exec(compiled_code)
示例 3

compile() 函数可以处理不同类型的源代码,例如单个 语句模块函数

def function(): 
    return 123 + 456 
compiled_function = compile('def function():\n    return 123 + 456', 'example', 'exec') 
eval(compiled_function)