Python 表达式计算详解(eval)

2023-12-14 11:07:11

1 语法

eval(expression, globals=None, locals=None)

# 参数说明
expression: 表达式的'字符串'
globals: 全局变量, '字典格式'
locals: 局部变量, '字典格式'

2 参数使用示例

2.1 仅 expression

  • 忽略后两个参数的情况下,仅在 当前的作用域 执行
a = 1

print(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 = 3

g = {'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

文章来源:https://blog.csdn.net/qq_34745941/article/details/134987497
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。