代码点读机 / Python / compile

compile Python · 内置函数

`compile(源码, 文件名, 模式)` 将字符串形式的 Python 代码编译成代码对象,可以交给 `exec` 或 `eval` 执行。通常不需要手动编译,但在动态执行代码时可能会用到。

怎么用

compile(源码字符串, 文件名, 'exec'/'eval'/'single')

小例子

代码 = "print('hello')"
编译后 = compile(代码, "<string>", "exec")
exec(编译后)   # 输出 hello

运行结果

hello

常见使用场景

- 动态执行代码。
- 提前编译提高性能(但一般不需要)。

提醒:- `exec` 模式可包含多条语句。 - `eval` 模式只能单个表达式。 - 有安全风险,不要执行不可信代码。

官方文档:https://docs.python.org/zh-cn/3/library/functions.html#compile

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← Python全部词条