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:表达式的 Sympify '无法解析 'x***2'' 失败,因为引发了异常。

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}$

广告