📌  相关文章
📜  Python compile()

📅  最后修改于: 2020-09-20 03:55:11             🧑  作者: Mango

compile()方法从源代码返回Python代码对象(普通字符串,字节字符串或AST对象)。

compile()的语法为:

compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)

如果Python代码为字符串形式或为AST对象,并且您要将其更改为代码对象,则使用compile()方法。

稍后可以使用诸如exec()和eval()之类的方法来调用compile()方法返回的代码对象,这些方法将执行动态生成的Python代码。

compile()参数

  1. source普通字符串,字节字符串或AST对象
  2. filename从中读取代码的文件。如果不是从文件中读取,则可以自己命名
  3. flags (可选)和dont_inherit (可选)-控制将来的哪些语句会影响源代码的编译。默认值:0
  4. optimize (可选)-编译器的优化级别。默认值-1。

从compile()返回值

compile()方法返回一个Python代码对象。

示例:compile()如何工作?

codeInString = 'a = 5\nb=6\nsum=a+b\nprint("sum =",sum)'
codeObejct = compile(codeInString, 'sumstring', 'exec')

exec(codeObejct)

输出

sum = 11

在这里, source采用普通字符串形式。 filenamesumstring 。并且,以后exec模式允许使用exec()方法。

compile()方法将字符串转换为Python代码对象。然后使用exec()方法执行代码对象。