Python 基础教程

Python 流程控制

Python 函数

Python 数据类型

Python 文件操作

Python 对象和类

Python 日期和时间

Python 高级知识

Python 参考手册

Python compile() 使用方法及示例

Python 内置函数

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

compile()的语法为:

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

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

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

compile()参数

  • source -普通字符串,字节字符串或AST对象

  • filename-从中读取代码的文件。如果不是从文件中读取,则可以自己命名

  • mode- exec或eval或single。

    • eval -仅接受一个表达式。

    • exec -它可以使用具有Python语句,类和函数等的代码块。

    • single -如果包含单个交互式语句

  • flags(可选)和dont_inherit(可选)-指定将来的哪些语句会影响源代码的编译。默认值:0

  • 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)采用普通字符串形式。该文件名sumstring。并且,exec模式稍后允许使用exec()方法。

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

Python 内置函数