python compile()
函数用于将字符串编译成字节代码或者AST对象。它是python的内置函数。
语法
语法如下:compile(source, filename, mode, flags=0, dont_inherit=False, optimize=- 1)
参数
- source:字符串或AST对象;
- filename:代码读取的文件名
- mode:指定编译的模式,可以是eval、exec和single。
- flags:变量作用域
- dont_inherit:
- optimize:
返回值
返回编码的对象。
程序示例
介绍一些例子了解python compile()函数的使用方法。
例1
mode为eval的例子。
#!/usr/bin/python
# coding=utf-8
exp = "1+1*2+3"
code = compile(exp, '', 'eval')
result = eval(exp)
print(result)
程序运行结果:
6
例2
mode为exec的例子
#!/usr/bin/python
# coding=utf-8
code = '''
for i in range(3):
print(i)
'''
com = compile(code, "", mode="exec") # 编译不执行
exec(com) # 执行编译的结果
程序运行结果:
0
1
2
1
2