访问量: 10 次浏览
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)
上面的代码片段产生以下输出: