compile(source, filename, mode[, flags[, dont_inherit]])
说明:将 source 编译为代码或 ATS 对象。代码对象能够通过 exec 语句来执行或者 eval() 进行求值。
参数:
- source:字符串或者 ATS 对象。
- filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。
- mode:指定编译代码的种类。可以指定为 'exec', 'eval', 'single'。
- flag 和 dont_inherit:可选参数
版本:在 python2.3、2.6、2.7、3.2 中均有不同,使用时要引起注意,兼容 python3
- ATS 对象:Abstract Syntax Tree,抽象语法树,是源代码语法结构的一种抽象表示。https://zhuanlan.zhihu.com/p/26988179
- exec 语句:exec 执行储存在字符串或文件中的Python语句,相比于 eval,exec可以执行更复杂的 Python 代码。需要说明的是在 Python2 中exec不是函数,而是一个内置语句(statement)。
- eval() 函数:eval() 函数用来执行一个字符串表达式,并返回表达式的值。
在 python2.7 中的试用:
>>> code =