编程语言
首页 > 编程语言> > Python(SymPy,SciPy),从字符串创建符号lambda

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

作者:互联网

我一直在努力获取方程的文本输入并将其评估为一个明确的积分.我需要一个可调用的函数来传递给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,lambda,scipy,integral
来源: https://codeday.me/bug/20190721/1496118.html