Python字符串到可用的表达式/函数

时间:2014-03-05 05:12:18

标签: python numpy scipy equation

在尝试进行样条插值时,我遇到了一个问题。我有代码在给定的间隔创建许多样条方程。其中一个方程式的示例可能看起来像......

0 + (1.0 * (x - 0)) + (0.0 * (x - 0)**2) + (0.0 * (x - 0)**3)

目前我所有的方程式都来自字符串。现在我正处于一个我希望将值插入' x'基于一些其他约束并从中获取值。现在生成它们的最佳方法是什么?

我已经查看了python eval函数以及numpy / scipy中的一些其他选项,但我似乎无法找到将这些字符串转换为可用方程式的正确方法。谢谢提前。< / p>

1 个答案:

答案 0 :(得分:-1)

所以对于可能遇到同样问题的其他人来说,我现在发现了一种“hacky”方式。我只是在上面的字符串上使用replace来用数字值替换'x'。我能够使用eval从中获取数字。

例如:

>> eq = "0 + (1.0 * (x - 0)) + (0.0 * (x - 0)**2) + (0.0 * (x - 0)**3)"
>> eq = eq.replace("x", "1.1")
>> eval(eq)
1.1