Python(SymPy、SciPy),从字符串创建符号 lambda

标签 python lambda scipy integral

我一直在努力获取方程式的文本输入并将其计算为定积分。我需要一个可调用函数传递给 scipy.integrate

eq = "x**2"
func = lambda x: eq
func(2)

# outputs:
# x**2


# but if I:

func = lambda x: x**2
func(2)

# outputs:
# 4

最佳答案

不确定,但也许你正在寻找

eq = "x**2"
func = eval("lambda x: " + eq)

请注意,如果 eq 来自不受信任的来源(例如用户输入),则使用 eval() 是危险的。

关于Python(SymPy、SciPy),从字符串创建符号 lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5872117/

相关文章:

python - 替换 Python 中的字典键(字符串)

python - PyStruct - 找不到匹配的签名

c# - Linq 查询问题 - 在运行时确定列

Java lambda 参数类型未正确推断

python - 如何使用 python 将 weibull 分布拟合到数据?

python - 如何在 Python 的 SciPy 中删除稀疏矩阵中的小元素?

python - 从程序运行 python 调试 session ,而不是从控制台

python - 在 pandas 组内设置值

c++ - 标准算法按值采用 Lambda 是否有原因?

python - 将函数内生成的数组传递给Python中另一个调用的函数(集成)