eval() 函数是 Python 内置函数,用于在当前局部作用域中执行指定的 Python 表达式,并返回表达式的结果。

以下是 eval() 函数的语法:
eval(expression[, globals[, locals]])

  •  expression: 要执行的 Python 表达式,通常为一个字符串。

  •  globals: 可选,用于提供全局命名空间的字典。如果省略或为 None,则使用当前全局命名空间。

  •  locals: 可选,用于提供局部命名空间的字典。如果省略或为 None,则使用当前局部命名空间。


下面是一些示例:
# 使用 eval() 执行简单的数学表达式
result = eval("2 + 3 * 4")
print(result)  # 输出 14,因为 eval() 计算了表达式的结果

# 使用 eval() 执行带有变量的表达式
x = 10
y = 5
result = eval("x + y")
print(result)  # 输出 15,因为 x + y 的值为 10 + 5

# 使用 eval() 执行带有函数调用的表达式
def add(a, b):
    return a + b

result = eval("add(2, 3)")
print(result)  # 输出 5,因为 eval() 调用了 add 函数

# 使用 eval() 提供全局和局部命名空间
globals_dict = {'x': 20, 'y': 8}
locals_dict = {'y': 3}
result = eval("x + y", globals_dict, locals_dict)
print(result)  # 输出 23,因为 x + y 在全局命名空间中使用 x=20,局部命名空间中使用 y=3

需要注意的是,eval() 函数具有一定的潜在危险性,因为它允许执行任意的 Python 代码。在使用 eval() 时应当谨慎,避免执行未信任的代码,以防止安全问题。


转载请注明出处:http://www.zyzy.cn/article/detail/334/Python3