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:例外が発生したため、式 'の構文解析ができませんでした' x *** 2 ''が失敗しました。

sympify()関数は次の引数を取ります:* strict:デフォルトはFalseです。Trueに設定すると、明示的な変換が定義されているタイプのみが変換されます。それ以外の場合、SympifyErrorが発生します。*評価:Falseに設定すると、算術演算子と演算子は、式を評価せずに同等のSymPyに変換されます。

>>> sympify("10/5+4/2")

上記のコードスニペットは、次の出力を提供します-

4

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

上記のコードスニペットは、次の出力を提供します-

$\frac{10}{5}+\frac{4}{2}$