1097

5 分钟

#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(抽象语法树)对象。该对象可以被 execeval 执行。

参数

  • source - 要编译的字符串、字节字符串,或者 AST(抽象语法树)对象
  • filename - 文件名,如果不使用文件,而是使用 source,此参数通常传递 '<string>' 作为标识
  • mode - 'exec' 表示一系列语句,'eval' 表示单个表达式,'single' 表示单个交互式语句
  • flags - 特性标志,默认为 0
  • dont_inherit - 是否不继承,默认为 False
  • optimize - 优化级别,默认为 -1,即使用解释器传入的优化选项作为优化级别

返回值

编译后的代码对象或 AST(抽象语法树)对象。

#示例

print(compile("print('hello')", "<string>", "eval")) print(compile("", __file__, "exec"))

>>> Establishing WebAssembly Runtime.

>>> Standby.

Powered by Shift.

创建于 2025/6/9

更新于 2025/6/9