SymPy 中的 ``sympify()`` 函数用法与示例


发布日期 : 2022-12-23 12:26:25 UTC

访问量: 10 次浏览

SymPy – sympify()函数

sympify() 函数用来将任意表达式转换为 SymPy 表达式。
普通的 Python 对象(如整数)和字符串都会被转换为 SymPy 表达式。

>>> expr="x**2+3*x+2" 
>>> expr1=sympify(expr) 
>>> expr1 
>>> expr1.subs(x,2)

上述代码片段给出了以下输出结果:

12

任何 Python 对象都可以被转换为 SymPy 对象。
但是,由于转换内部使用 eval() 函数,所以不应该使用未经处理的表达式,否则会引发 SympifyError

>>> sympify("x***2")
---------------------------------------------------------------------------

SympifyError:表达式 x***2 解析失败,因为出现了语法异常。

sympify() 函数支持以下参数:

  • strict:默认为 False。如果设置为 True,只有那些已经定义了明确转换的类型才会被转换,否则会引发 SympifyError
  • evaluate:默认为 True。如果设置为 False,算术和运算符将被转换为其 SymPy 等价物,而不对表达式进行计算。
>>> sympify("10/5+4/2")

上述代码片段给出了以下输出结果:

4

>>> sympify("10/5+4/2", evaluate=False)

上述代码片段给出了以下输出:

10/5 + 4/2(未计算形式)