SymPy ``sympify()`` 函数使用方法


发布日期 : 2020-12-16 08:09:03 UTC

访问量: 10 次浏览

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 of expression 'could not parse x***2' failed

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}\]