python exec内置函数是继eval之后的一个很有用的函数,可以执行python的代码,传入python的代码字符串就行。我在网上也查过一些别人的博客但是都讲的很模糊,这里我简单总结一下我常用的使用形式
首先定义一段python代码:
expr = """
sum = x + y
x = 5
y = 10
"""
然后定义一个临时变量域,也就是执行expr代码时的临时变量空间,是一个dict,这里我们需要指定x和y的值
args = {'x':1, 'y':2}
然后就可以进行exec了,注意exec是没有返回值的,所有的变量都会存在那个dict变量args里面
exec(expr, args)
运行完之后,打印出args中的值,可以看到本来args里我们只定义了x和y,运行完exec之后多出来了sum,这里就是变量空间的作用了,在嵌入代码块中的变量最后都会保存在args里,还是比较方便的。
print(args['x'], args['y'], args['sum'])
输出为:
5 10 3
[Finished in 0.1s]
总的来说就只有两步,首先定义一段代码字符串,然后给一个临时变量空间的args并且提供所需要的参数,最后的结果可以直接从args中读取,当然还有其他的高级用法涉及到局部和全局变量,这里我就只总结一下我目前用的方式。