Python 表达式计算详解(eval)

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

相关推荐

  1. Python 表达式计算详解eval

    2023-12-14 10:34:02       67 阅读
  2. python内置函数enumerate()、eval()详解

    2023-12-14 10:34:02       39 阅读
  3. python之exec与eval

    2023-12-14 10:34:02       46 阅读
  4. 一个简单的 C# 算术表达式 Eval 解析器 MathEvalor

    2023-12-14 10:34:02       30 阅读
  5. cexprtk:Python中的数学表达式解析和计算

    2023-12-14 10:34:02       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-14 10:34:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-14 10:34:02       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-14 10:34:02       87 阅读
  4. Python语言-面向对象

    2023-12-14 10:34:02       96 阅读

热门阅读

  1. C++11在算法竞赛中常用语法特征/语法糖

    2023-12-14 10:34:02       52 阅读
  2. FPGA设计流程:从概念到实现的详细指南

    2023-12-14 10:34:02       51 阅读
  3. 【Typora 的一些常用使用方法】

    2023-12-14 10:34:02       73 阅读
  4. SpringCloud 和 Linux 八股文第一期五问五答

    2023-12-14 10:34:02       45 阅读
  5. xml.etree.ElementTree --- ElementTree XML API

    2023-12-14 10:34:02       46 阅读
  6. mysql迁移步骤

    2023-12-14 10:34:02       51 阅读
  7. Python核心编程之文件和输入输出

    2023-12-14 10:34:02       54 阅读
  8. 天气预报爬虫-多城市-更新版

    2023-12-14 10:34:02       53 阅读
  9. riscv64-linux-gnu-gcc编译生成32位cpu二进制

    2023-12-14 10:34:02       56 阅读
  10. 【算法集训】基础数据结构:六、栈和队列

    2023-12-14 10:34:02       54 阅读
  11. Spring Boot 3中使用 Lettuce RedisTemplate 连接 Redis 集群

    2023-12-14 10:34:02       63 阅读
  12. C++静态成员数据

    2023-12-14 10:34:02       75 阅读