In den vergangen Blogbeiträgen haben wir bereits mehrmals den Python Zuweisungsoperator in unserem Code verwendet. Da dieser extrem wichtig ist, werden wir uns heute umfassend damit beschäftigen. Außerdem werden wir herausfinden, was sogenannte kombinierte Zuweisungsoperatoren sind und wie wir sie in Python einsetzen können.
Inhaltsverzeichnis
1. Der Python Zuweisungsoperator
Um in Python den Zuweisungsoperator besser verstehen zu können, sehen wir uns einmal die folgenden Anweisungen an:
Was diese drei Anweisungen miteinander gemeinsam haben, ist der Zuweisungsoperator (=), der innerhalb jeder Anweisung jeweils einen Wert zuweist. Daran lässt sich auch dessen Arbeitsweise erkennen, die von rechts nach links erfolgt.
Das bedeutet: Der Operand rechts wird dem Operanden links zugewiesen.
In der ersten Anweisung wird folglich der rechte Operand, also der Wert 22, an den linken Operand, nämlich die Variable example1, zugewiesen.
In den Anweisungen zwei und drei ist jeweils der rechte Operand nun nicht mehr nur ein einzelner Wert, sondern ein komplexer Ausdruck. Ein solcher komplexer Ausdruck setzt sich aus beliebig vielen Werten zusammen, die über Operatoren miteinander verbunden sind.
Das bedeutet, dass vor der Zuweisung der komplexe Ausdruck immer erst solange ausgewertet wird, bis ein Wert übrig bleibt, der anschließend zugewiesen werden kann.
Bei Anweisung zwei wird folglich die Summe aus 22 und 3 gerechnet, die 25 ergibt. Dieser Wert wird nun an die Variable example2 zugewiesen.
Aufgrund der Klammersetzung wird in Anweisung drei zunächst die Differenz aus 22 und 2 berechnet, woraus wir das Ergebnis 20 erhalten. Die 20 wird daraufhin mit 3 multipliziert und das Ergebnis daraus (60) wird dann an die Variable example3 zugewiesen.
Anstelle der Werte können auch Variablen verwendet werden, die wiederum auf Werte referenzieren. Das Prinzip bleibt jedoch immer gleich: Der komplexe Ausdruck wird ausgewertet, bis ein Wert übrig bleibt und der Zuweisungsoperator weist den rechten Operanden immer dem linken Operanden zu.
2. Kombinierte Zuweisungsoperatoren
Bei einem kombinierten Zuweisungsoperator handelt es sich um eine Mischung aus dem Zuweisungsoperator selbst und einem weiteren Operator. In einem der vorherigen Beiträge haben wir bereits die Plus-, Minus-, Mal- und Geteilt-Operatoren kennengelernt. Diese können wir in der Praxis mit dem Zuweisungsoperator kombinieren. Sehen wir uns das Ganze am besten anhand eines Beispiels genauer an.
Angenommen, wir haben zwei Variablen, die jeweils den Wert 5 enthalten:
Jetzt möchten wir den aktuellen Wert der Variable um den Wert 10 erhöhen und den neuen Wert anschließend in der entsprechenden Variable speichern. Nach unserem bisherigen Wissensstand würden wir das folgendermaßen umsetzen:
Mit der Variable value2 möchten wir nun das gleiche umsetzen, diesmal allerdings mithilfe eines kombinierten Zuweisungsoperators:
Führen wir das Programm nun aus, sehen wir, dass wir für beide Variablen das exakt gleiche Ergebnis erhalten:
Mit der zweiten Schreibweise ersparen wir uns jedoch, „value2“ nochmals rechts vom Zuweisungsoperator zu schreiben. Anstelle von „value2 +“ schreiben wir also lediglich ein +-Zeichen vor den Zuweisungsoperator.
Den kombinierten Zuweisungsoperator können wir also immer dann gut anwenden, wenn wir wissen, dass eine Variable beispielsweise einen Wert enthält, auf dem wir nur eine Operation ausführen möchten. Das Ergebnis soll anschließend dieser Variable zugewiesen werden und damit den ursprünglichen Wert überschreiben.
Die Schreibweise mit den kombinierten Zuweisungsoperatoren ermöglicht uns, so einen eleganteren und kürzeren Weg, in Python Code zu schreiben. Des Weiteren lässt sie sich auch mit den anderen Operatoren (-, *, /) umsetzen.
Möchten wir beispielsweise den Wert der Variable „value2“ durch 2 teilen und das Ergebnis anschließend wieder in der Variable speichern, setzen wir das so um:
Diese Schreibweise erfüllt den gleichen Zweck wie die Schreibweise „value2 = value2 / 2“.
Das Ergebnis beider Schreibweisen ist also auch in diesem Fall identisch.
Damit sind wir auch schon am Ende des heutigen Blogbeitrags über den Python Zuweisungsoperator angelangt. Die kombinierten Zuweisungsoperatoren kommen in Python standardmäßig sehr oft zum Einsatz und nun hast auch du die Möglichkeit, sie in deinen eigenen Projekten selbst umzusetzen.