📅  最后修改于: 2020-09-20 03:55:11             🧑  作者: Mango
compile()
的语法为:
compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)
如果Python代码为字符串形式或为AST对象,并且您要将其更改为代码对象,则使用compile()
方法。
稍后可以使用诸如exec()和eval()之类的方法来调用compile()
方法返回的代码对象,这些方法将执行动态生成的Python代码。
source
普通字符串,字节字符串或AST对象filename
从中读取代码的文件。如果不是从文件中读取,则可以自己命名flags
(可选)和dont_inherit
(可选)-控制将来的哪些语句会影响源代码的编译。默认值:0 optimize
(可选)-编译器的优化级别。默认值-1。 compile()
方法返回一个Python代码对象。
codeInString = 'a = 5\nb=6\nsum=a+b\nprint("sum =",sum)'
codeObejct = compile(codeInString, 'sumstring', 'exec')
exec(codeObejct)
输出
sum = 11
在这里, source
采用普通字符串形式。 filename
是sumstring
。并且,以后exec
模式允许使用exec()
方法。
compile()方法将字符串转换为Python代码对象。然后使用exec()
方法执行代码对象。