eval() 和 exec()函数
eval() 函数
格式:
eval(source, global=None, locals=None)
作用:
把一个字符串当成一个表达式来执行,返回表达式执行后的结果
示例:
x = 100
y = 200
a = eval('x+y')
print(a)
exec() 函数
作用:
把一个字符串当成程序来执行
格式:
exec(source, globals=None, locals=None)
示例:
x = 100
y = 200
s = 'z = x+y; print(z); del z; print("删除成功")'
exec(s) # 执行s绑定的语句
eval 和 exec的两个参数globals 和 locals
此两个参数是用来设置’表达式’或’程序’运行的全局变量和局部变量
示例:
x = 100
y = 200
s = 'print(x, y, x + y)'
exec(s) # 100 200, 300
exec(s, {'x': 10, 'y': 20}) # 10, 20, 30
exec(s, {'x': 10}, {'x': 1, 'y': 2}) # 1 2 3
exec(s, {'x': 10}, {'y': 2}) # 10 2 12