#Python 的内置函数 compile
说明:编译代码对象或 AST(抽象语法树)对象。
def compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1):
'''
将字符串或文件编译成代码或 AST 对象
:param source: 字符串、字节字符串,或者 AST 对象
:param filename: 文件名或 '<string>'
:param mode: 'exec', 'eval' 或 'single'
:param flags: 特性
:param dont_inherit: 是否继承
:param optimize: 优化级别
:return: 代码或 AST 对象
'''
说明
将字符串或文件编译成代码对象或 AST(抽象语法树)对象。该对象可以被 exec 或 eval 执行。
参数
source
- 要编译的字符串、字节字符串,或者 AST(抽象语法树)对象filename
- 文件名,如果不使用文件,而是使用source
,此参数通常传递'<string>'
作为标识mode
-'exec'
表示一系列语句,'eval'
表示单个表达式,'single'
表示单个交互式语句flags
- 特性标志,默认为 0dont_inherit
- 是否不继承,默认为False
optimize
- 优化级别,默认为 -1,即使用解释器传入的优化选项作为优化级别
返回值
编译后的代码对象或 AST(抽象语法树)对象。
#示例
print(compile("print('hello')", "<string>", "eval"))
print(compile("", __file__, "exec"))