You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何使用从字符串解析的运算符执行数值计算

基于拆分得到的操作数、运算符实现运算的方案

这里提供两种常用实现方式,可根据你的场景选择:

1. 快速实现(仅适用输入完全可控的场景)

直接用Python内置的eval()函数拼接表达式执行即可,代码示例:

op01, sym0, op02 = "1", "+", "5"
result = eval(f"{op01}{sym0}{op02}")
print(result) # 输出结果为6

注意:eval()会执行任意传入的字符串内容,如果你的输入包含不可控的用户提交内容,会存在代码注入风险,该方式仅适合输入完全由你自己的解析逻辑生成的场景使用。


2. 安全实现(全场景通用)

提前建立运算符和运算逻辑的映射表,先将两个操作数字符串转为数值类型,再调用对应运算逻辑计算,无注入风险,代码示例:

import operator

# 可按需扩展支持的运算符
operator_mapping = {
    "+": operator.add,
    "-": operator.sub,
    "*": operator.mul,
    "/": operator.truediv,
    "%": operator.mod,
    "**": operator.pow
}

op01, sym0, op02 = "1", "+", "5"
# 转为数值,若存在小数场景可替换为float()
num1 = int(op01)
num2 = int(op02)

result = operator_mapping[sym0](num1, num2)
print(result) # 输出结果为6

内容的提问来源于stack exchange,提问作者Lone Programmer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 08:45:07