Tutorial Study Image

Python compile()

使用 compile() 函数,我们可以将源代码转换为可运行的代码对象。


compile (source, file_name, mode, flags=0, d optimize=-1)#where source can be String,a byte string,or abstract syntax tree

compile() 参数

compile 函数将源作为主要输入。其他参数是源代码的文件名、指示源类型的模式、标志和 dont_inherit(用于向编译器提供指示)以及 optimize(用于指定优化级别)

参数 描述 必需/可选
source (源) 字符串、字节字符串或抽象语法树 (AST) 必需
file_name (文件名) 包含源代码的文件,如果源不是来自文件,则可以给出任何名称 必需
mode (模式) 3 个可能的值 -
eval:如果源是一个表达式
single:如果源是一个交互式语句
exec:如果源是一个语句块
必需
flags (标志) 默认值为零,表示哪个 future 语句影响编译 可选
dont_inherit (不继承) 默认值为 False,表示哪个 future 语句影响编译 可选
optimize (优化) 编译器的优化级别,默认为 -1 可选

compile() 返回值

根据传递的参数,源将被转换为 Python 代码对象。

输入 返回值
Python 源 Python 代码对象

Python 中 compile() 方法的示例

示例 1:作为源代码的代码块


pythonSource = 'n1 = 10\n n2=20\nsum=n1 + n2 \n print("sum =",sum)'  pyth pythonSource,'randomName','exec') 
exec(pythonCodeObj)
 

输出

sum = 30

示例 2:作为源代码的单个语句


pythonSource = 'print("Hi , I am a single statement)'  pyth pythonSource,'randomName','eval') 
exec(pythonCodeObj)
 

输出

Hi I am a single statement