在Python中用整数值替换正则表达式中的字符串值

0 投票
1 回答
571 浏览
提问于 2025-04-18 09:10

在我的Python代码中,用户输入一个数学表达式。我想把里面的变量替换成整数值,然后计算结果。我可以用Python中的正则表达式来替换变量,但替换后的字符串是字符串类型,所以我无法直接计算它的和。在tcl中,我可以做到这一点。它有一个内置的expr命令,我只需要把字符串传进去,它就会自动把它转换成数学表达式并计算结果。在Python中有没有办法做到同样的事情呢?

谢谢

1 个回答

1

是的,有一个叫做 eval 的东西。
比如说:

a=3
b=4
s="(a*a+b*b)**.5"
eval(s)

不过要注意,这可能会带来安全风险。
你可以考虑使用 SymPy,http://sympy.org/en/index.html

撰写回答