SymPy - Symbole

Symbolist die wichtigste Klasse in der symPy-Bibliothek. Wie bereits erwähnt, werden symbolische Berechnungen mit Symbolen durchgeführt. SymPy-Variablen sind Objekte der Symbols-Klasse.

Das Argument der Funktion Symbol () ist eine Zeichenfolge mit einem Symbol, das einer Variablen zugewiesen werden kann.

>>> from sympy import Symbol 
>>> x=Symbol('x') 
>>> y=Symbol('y') 
>>> expr=x**2+y**2 
>>> expr

Das obige Code-Snippet liefert eine Ausgabe, die dem folgenden Ausdruck entspricht -

$x^2 + y^2$

Ein Symbol kann aus mehr als einem Alphabet bestehen.

>>> s=Symbol('side') 
>>> s**3

Das obige Code-Snippet liefert eine Ausgabe, die dem folgenden Ausdruck entspricht -

$side^3$

SymPy hat auch eine Symbols()Funktion, die mehrere Symbole gleichzeitig definieren kann. String enthält Namen von Variablen, die durch Komma oder Leerzeichen getrennt sind.

>>> from sympy import symbols 
>>> x,y,z=symbols("x,y,z")

Im abc-Modul von SymPy werden alle lateinischen und griechischen Alphabete als Symbole definiert. Daher ist diese Methode praktisch, anstatt ein Symbolobjekt zu instanziieren.

>>> from sympy.abc import x,y,z

Allerdings die Namen C, O, S, I, N, E und Qsind vordefinierte Symbole. Außerdem werden im abc-Modul keine Symbole mit mehr als einem Alphabet definiert, für die Sie das Symbolobjekt wie oben verwenden sollten. Das abc-Modul definiert spezielle Namen, die Definitionen im Standard-SymPy-Namespace erkennen können. clash1 enthält einzelne Buchstaben und clash2 enthält Kollisionssymbole mit mehreren Buchstaben

>>> from sympy.abc import _clash1, _clash2 
>>> _clash1

Die Ausgabe des obigen Snippets ist wie folgt:

{'C': C, 'O': O, 'Q': Q, 'N': N, 'I': I, 'E': E, 'S': S}

>>> _clash2

Die Ausgabe des obigen Snippets ist wie folgt:

{'beta': beta, 'zeta': zeta, 'gamma': gamma, 'pi': pi}

Indizierte Symbole können mit einer Syntax definiert werden, die der Funktion range () ähnelt. Bereiche werden durch einen Doppelpunkt angezeigt. Die Art des Bereichs wird durch das Zeichen rechts vom Doppelpunkt bestimmt. Wenn es sich um eine Ziffer handelt, werden alle zusammenhängenden Ziffern links als nicht negativer Startwert verwendet. Alle zusammenhängenden Ziffern rechts werden als 1 größer als der Endwert angenommen.

>>> from sympy import symbols 
>>> symbols('a:5')

Die Ausgabe des obigen Snippets ist wie folgt:

(a0, a1, a2, a3, a4)

>>> symbols('mark(1:4)')

Die Ausgabe des obigen Snippets ist wie folgt:

(mark1, mark2, mark3)