Compile():考虑一种情况,我们在字符串中有一段Python代码,我们希望对其进行编译,以便以后可以在需要时运行它。编译方法可以完成此任务。它以源代码作为输入,并返回准备执行的代码对象。
用法:
compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)
参数:
- Source-它可以是普通字符串,字节字符串或AST对象
- Filename-这是从中读取代码的文件。如果未从文件中读取文件,则可以自己命名。
- Mode-模式可以是exec,eval或single。
a.eval-如果源是单个表达式。
b.exec-可能需要一段包含Python语句,类和函数等的代码。
c.single-如果由单个交互式语句组成,则使用 - Flags(可选)和dont_inherit(可选)-默认值= 0。注意哪些将来的语句会影响源代码的编译。
Optimize (optional)-告知编译器的优化级别。默认值-1。
# Python code to demonstrate working of compile().
# Creating sample sourcecode to multiply two variables
# x and y.
srcCode = 'x = 10\ny = 20\nmul = x * y\nprint("mul =", mul)'
# Converting above source code to an executable
execCode = compile(srcCode, 'mulstring', 'exec')
# Running the executable code.
exec(execCode)
输出:
mul = 200
# Another Python code to demonstrate working of compile().
x = 50
# Note eval is used for single statement
a = compile('x', 'test', 'single')
exec(a)
输出:
50
应用范围:
- 如果Python代码为字符串形式或为AST对象,并且您想将其更改为代码对象,则可以使用compile()方法。
- compile()方法返回的代码对象以后可以使用以下方法调用:exec()和eval(),它们将执行动态生成的Python代码。
相关用法
- Python map()用法及代码示例
- Python ord()用法及代码示例
- Python dir()用法及代码示例
- Python cmp()用法及代码示例
- Python id()用法及代码示例
- Python int()用法及代码示例
- Python tell()用法及代码示例
- Python now()用法及代码示例
- Python hex()用法及代码示例
- Python sum()用法及代码示例
- Python oct()用法及代码示例
注:本文由纯净天空筛选整理自shubham tyagi 4大神的英文原创作品 Python compile() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。