Reihenfolge der Operationen in Python
Wir haben eine Vielzahl von Operatoren in Python, wie arithmetische, logische und mehr. Ein Ausdruck ist eine Kombination aus Operatoren, Operanden und Variablen. Manchmal ist es aufgrund vieler Operatoren nicht einfach, einen Ausdruck auszuwerten, und es ist nicht klar, welcher Operator zuerst ausgewertet werden sollte.
Wenn wir beispielsweise den Operator +
zuerst in 10 + 2 / 2
auswerten, erhalten wir 12/2
, was 6 ist. Wenn wir jedoch zuerst /
auswerten, erhalten wir 10 + 1
, das ist 11.
Daher ist die Reihenfolge, in der die Operatoren ausgeführt werden, wichtig. In Python bestimmen wir dies anhand der Präzedenz von Operatoren. Es bestimmt, welche Operatoren zuerst in einem Ausdruck ausgeführt werden. Ausdrücke in Python werden normalerweise von links nach rechts ausgeführt.
Die vollständige Liste der Reihenfolge der Operatoren von hoch nach niedrig ist unten angegeben.
Es ist einfach, sich die obige Liste mit PEMDAS
zu merken. Dabei steht P
für Klammern, E
für Exponential, MD
für Multiplikation und Division, da beide den gleichen Vorrang haben, und AS
für Addition und Subtraktion.
Wenn Operatoren dieselbe Priorität haben, wird der zuerst auftretende ausgeführt.
Nehmen Sie das folgende Beispiel,
a = 10 * 5 + 2 / (8 + 2)
print(a)
Ausgabe:
50.2
Lassen Sie uns das obige Beispiel aufschlüsseln. Zuerst der Ausdruck innerhalb der Klammern, der 10 ergibt. Dann wird der Operator *
ausgeführt und berechnet 10*5
, 50. Der Operator /
berechnet 2/10
, also 0,2. Schließlich wertet der +
-Operator 50 + 0.2
aus, was 50,2 ist.
Wir führen viel kompliziertere Berechnungen in Python mit komplexeren Ausdrücken durch. Die Klammern haben die höchste Priorität, wie im vorherigen Beispiel gezeigt. Daher werden sie in solchen komplexen Ausdrücken verwendet, um die Unterausdrücke entsprechend zu gruppieren, um zu steuern, welche Operatoren zuerst ausgewertet werden.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn