SymPy sympify()函数
sympify()函数用于将任何任意的表达式转换为可以作为SymPy表达式使用的形式。普通的Python对象,如整数对象,被转换为SymPy表达式。整数等字符串也被转换为SymPy表达式。
>>> expr="x**2+3*x+2"
>>> expr1=sympify(expr)
>>> expr1
>>> expr1.subs(x,2)
上述代码片段输出如下−
12
任何Python对象都可以转换为SymPy对象。然而,由于转换内部使用eval()函数,所以不应该使用未经过滤的表达式,否则会引发SympifyError错误。
>>> sympify("x***2")
---------------------------------------------------------------------------
Sympify错误:表达式“无法解析’x***2’”的Sympify失败,因为引发了异常。
sympify()函数接受以下参数:* strict:默认为False。如果设置为True,仅将已定义显式转换的类型转换。否则,会引发SympifyError。* evaluate:如果设置为False,将算术和运算符转换为SymPy等效项,而不进行表达式求值。
>>> sympify("10/5+4/2")
上面的代码片段给出了下面的输出结果:
4
>>> sympify("10/5+4/2", evaluate=False)
上面的代码片段产生以下输出 −
\frac{10}{5}+\frac{4}{2}