Zum Inhalt
Alle Apps

Operatoren und ihre Rangfolge

Über diese App

Python-Ausdrücke Schritt für Schritt: Der Ausdrucksbaum hängt direkt unter dem Ausdruck — unten rechnet, was zuerst dran ist —, die Rangleiter mit 14 Stufen zeigt warum. Werte fliegen nach oben, der Zwischenstand ersetzt Teilausdrücke, and/or-Kurzschlüsse bleiben sichtbar unausgewertet. 17 Beispiele aus dem Skript (a += a == 2, -2 ** 2, 3 > 2 > 1 …), eigene Ausdrücke, Tipp vorab und eine Lesart „Fehlvorstellung“ (stur von links, Mal vor Geteilt, Potenzen von links …) zum Vergleich.

Mit Erklärmodus: Ein KI-Tutor führt dich durch die App, zeigt in der Szene, worauf es ankommt, und beantwortet deine Fragen.

Rangfolge der Operatoren in Python

Stehen in einem Ausdruck mehrere Operatoren, legt die Rangfolge (Priorität) fest, was zuerst gerechnet wird. In Python binden Klammern am stärksten, dann ** und das Vorzeichen, dann * / // %, dann + und −, danach Bitverschiebung, &, ^, |, die Vergleiche, not, and und zuletzt or. Bei gleicher Stufe wird von links nach rechts gerechnet, nur ** rechnet von rechts: 2 ** 3 ** 2 ist 2 ** 9 = 512. Vergleiche bilden Ketten, 3 > 2 > 1 heißt 3 > 2 and 2 > 1.

Was die App zeigt

Oben steht der Ausdruck, darunter sein Ausdrucksbaum: Unten hängen die Operationen, die zuerst rechnen, oben die Wurzel, die zuletzt rechnet. Schritt für Schritt faltet sich ein Knoten zu seinem Wert, und der Zwischenstand zeigt den Ausdruck mit eingesetzten Werten. Die Rangleiter rechts hebt die Stufe des aktuellen Operators hervor. Bei and und or bleibt ein Zweig nach einem Kurzschluss sichtbar unausgewertet. Die Lesart „Fehlvorstellung“ baut den Baum so, wie man den Ausdruck oft falsch liest, und rechnet ihn aus.

Selbst ausprobieren

Wähle eines von 17 Beispielen, etwa 2 + 3 * 4, 12 / 2 * 3, -2 ** 2 oder die Zuweisungen a *= 5 + 5 und a += a == 2 aus der Vorlesung. Tippe vorher dein Ergebnis in „Dein Tipp“ und vergleiche. Eigene Ausdrücke mit Zahlen, True/False, der Variablen a und bis zu 12 Operatoren rechnet die App wie Python 3, samt Fehlermeldungen wie ZeroDivisionError.

Häufige Fragen

Welche Operatoren haben in Python Vorrang?
Von stark nach schwach: Klammern, **, Vorzeichen (+x, -x, ~x), * / // %, + -, << >>, &, ^, |, Vergleiche, not, and, or. Was weiter oben steht, wird zuerst ausgewertet. Zuweisungen wie a += 1 sind Anweisungen und kommen ganz zum Schluss.
Rechnet Python bei gleicher Priorität von links nach rechts?
Ja, mit einer Ausnahme. 12 / 2 * 3 ergibt 18.0, weil / und * gleichrangig sind und von links gerechnet wird. Der Potenzoperator ** rechnet dagegen von rechts: 2 ** 3 ** 2 ist 512.
Warum ist -2 ** 2 in Python gleich -4?
** bindet stärker als ein Minus davor. Python liest den Ausdruck als -(2 ** 2) = -4. Wer (-2) ** 2 = 4 meint, muss Klammern setzen.
Was kann ich in der App „Operatoren und ihre Rangfolge“ ausprobieren?
Beispiele und eigene Ausdrücke Schritt für Schritt auswerten, am Ausdrucksbaum und an der Rangleiter ablesen, was zuerst rechnet, Kurzschlüsse bei and/or beobachten, dein Ergebnis vorher tippen und typische Fehlvorstellungen wie „stur von links“ nachrechnen lassen.

Fach: Informatik

Mehr aus Informatik

Eine VisuApp von heyprof: interaktiv, kostenlos im Browser, ohne Anmeldung. Was ist eine VisuApp? · Alle Apps