当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python compile()用法及代码示例


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

应用范围:

  1. 如果Python代码为字符串形式或为AST对象,并且您想将其更改为代码对象,则可以使用compile()方法。
  2. compile()方法返回的代码对象以后可以使用以下方法调用:exec()和eval(),它们将执行动态生成的Python代码。


相关用法


注:本文由纯净天空筛选整理自shubham tyagi 4大神的英文原创作品 Python compile() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。