您的位置:

12. Python compile()

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

complile()参数:

编译函数以源代码作为主要输入。其他参数是源代码的文件名、指示源代码类型的模式、标志以及向编译器指示的 dont _ inherit 和指定优化级别的优化

参数 描述 必需/可选
来源 字符串、字节字符串或抽象语法树(AST) 需要
文件名 有来源的文件,如果来源不是来自文件,可以给出任何名称 需要
方式 3 个可能的值-

eval:如果源是单个表达式 single:如果源是单个交互语句 exec:如果源是一个语句块 | 需要 | | 旗帜 | 默认零表示哪个未来语句会影响编译 | 可选择的 | | 其中 _inherit | 默认值为假,表示哪个未来语句会影响编译 | 可选择的 | | 使最优化 | 编译器的优化级别,默认值-1 | 可选择的 |

编译()返回值

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

| 投入 | 返回值 | | Python 源代码 | Python 代码对象 |

Python 中的编译()方法示例

示例 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