Python Language
Vorrang des Bedieners
Suche…
Einführung
Python-Operatoren haben eine bestimmte Rangfolge , die bestimmt, welche Operatoren in einem möglicherweise mehrdeutigen Ausdruck zuerst ausgewertet werden. In dem Ausdruck 3 * 2 + 7 wird zum Beispiel zuerst 3 mit 2 multipliziert, und das Ergebnis wird zu 7 addiert, wodurch sich 13 ergibt. Der Ausdruck wird nicht umgekehrt ausgewertet, da * eine höhere Priorität als + hat.
Nachfolgend finden Sie eine Liste der Operatoren nach Prioritäten und eine kurze Beschreibung ihrer (normalerweise) Vorgänge.
Bemerkungen
Aus der Python-Dokumentation:
In der folgenden Tabelle werden die Operatorvorrangstufen in Python zusammengefasst, von der niedrigsten Priorität (geringste Bindung) bis zur höchsten Priorität (meist Bindung). Operatoren in derselben Box haben die gleiche Priorität. Wenn die Syntax nicht explizit angegeben ist, sind Operatoren binär. Operatoren in derselben Boxgruppe von links nach rechts (außer für Vergleiche, einschließlich Tests, die alle dieselbe Priorität und Kette von links nach rechts haben und die Potenzierung von rechts nach links gruppiert)
Operator | Beschreibung |
---|---|
Lambda | Lambda-Ausdruck |
ansonsten | Bedingter Ausdruck |
oder | Boolesches ODER |
und | Boolean AND |
nicht x | Boolean NICHT |
in, nicht in, ist, ist nicht, <, <=,>,> =, <>,! =, == | Vergleiche, einschließlich Mitgliedschaftstests und Identitätstests |
| | Bitweises ODER |
^ | Bitweises XOR |
& | Bitweises AND |
<<, >> | Verschiebungen |
+, - | Addition und Subtraktion |
*, /, //,% | Multiplikation, Division, Rest [8] |
+ x, -x, ~ x | Positiv, negativ, bitweise NICHT |
** | Potenzierung [9] |
x [index], x [index: index], x (Argumente ...), x.attribute | Abonnement, Slicing, Aufruf, Attributreferenz |
(Ausdrücke ...), [Ausdrücke ...], {Schlüssel: Wert ...}, Ausdrücke ... | Bindungs- oder Tupelanzeige, Listenanzeige, Wörterbuchanzeige, Zeichenfolgenkonvertierung |
Beispiele für einfache Operator-Priorität in Python.
Python folgt der PEMDAS-Regel. PEMDAS steht für Klammern, Exponenten, Multiplikation und Division sowie Addition und Subtraktion.
Beispiel:
>>> a, b, c, d = 2, 3, 5, 7
>>> a ** (b + c) # parentheses
256
>>> a * b ** c # exponent: same as `a * (b ** c)`
7776
>>> a + b * c / d # multiplication / division: same as `a + (b * c / d)`
4.142857142857142
Extras: mathematische Regeln gelten, aber nicht immer :
>>> 300 / 300 * 200
200.0
>>> 300 * 200 / 300
200.0
>>> 1e300 / 1e300 * 1e200
1e+200
>>> 1e300 * 1e200 / 1e300
inf