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

廣告