文章目录
- 1 语法
- 2 参数使用示例
- 2.1 仅 expression
- 2.2 指定 globals
- 2.3 指定 locals
1 语法
eval(expression, globals=None, locals=None)# 参数说明
expression: 表达式的'字符串'
globals: 全局变量, '字典格式'
locals: 局部变量, '字典格式'
2 参数使用示例
2.1 仅 expression
- 忽略后两个参数的情况下,仅在 当前的作用域 执行
a = 1print(eval('a + 1')) # 2
# print(eval(str(1 + 1)))
2.2 指定 globals
- 指定 globals 时,在 指定的 globals 作用域 内执行
a = 1
g = {'a': 2}
print(eval('a + 1', g)) # 3
2.3 指定 locals
- 指定 locals 时,在 指定的 locals作用域 内执行
a = 1
b = 2
c = 3g = {'a': 10, 'b': 20}
l = {'b': 200, 'c': 300}print(eval('a+b+c', g, l)) # 510
# 计算过程:
# 先计算 l 中的 b+c=500
# 再计算 g 中的 a+500=510