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")
---------------------------------------------------------------------------
SympifyError。表达式’could not parse ‘x***2”的Sympify失败,因为出现了异常。
sympify()函数需要以下参数。* strict:默认为False。如果设置为True,只有那些已经定义了明确转换的类型才被转换。否则,会引发SympifyError。* 评估。如果设置为False,算术和运算符将被转换为其SymPy等价物,而不对表达式进行评估。
>>> sympify("10/5+4/2")
上述代码片断给出了以下输出结果 −
4
>>> sympify("10/5+4/2", evaluate=False)
上述代码片断给出了以下输出 –
\frac{10}{5}+\frac{4}{2}