Python Language
Voorrang operator
Zoeken…
Invoering
Python-operators hebben een vaste volgorde van prioriteit , die bepaalt welke operators eerst worden geëvalueerd in een mogelijk dubbelzinnige uitdrukking. In de uitdrukking 3 * 2 + 7 wordt bijvoorbeeld eerst 3 vermenigvuldigd met 2 en wordt het resultaat opgeteld bij 7, wat 13 oplevert. De uitdrukking wordt niet andersom geëvalueerd, omdat * een hogere prioriteit heeft dan +.
Hieronder vindt u een lijst van operatoren op prioriteit en een korte beschrijving van wat ze (meestal) doen.
Opmerkingen
Uit de Python-documentatie:
De volgende tabel geeft een overzicht van de operatorvoorkeuren in Python, van de laagste prioriteit (minst bindend) tot de hoogste prioriteit (meest bindend). Operators in hetzelfde vak hebben dezelfde prioriteit. Tenzij de syntaxis expliciet wordt gegeven, zijn operators binair. Operators in dezelfde box groeperen zich van links naar rechts (behalve voor vergelijkingen, inclusief tests, die allemaal dezelfde voorrang en keten hebben van links naar rechts en exponentiatie, welke groepen van rechts naar links).
operator | Beschrijving |
---|---|
lambda | Lambda-uitdrukking |
als - anders | Voorwaardelijke expressie |
of | Boolean OF |
en | Boolean EN |
niet x | Boolean NIET |
in, niet in, is, is niet, <, <=,>,> =, <>,! =, == | Vergelijkingen, waaronder lidmaatschapstests en identiteitstests |
| | Bitgewijs OF |
^ | Bitwise XOR |
& | Bitwise AND |
<<, >> | verschuivingen |
+, - | Optellen en aftrekken |
*, /, //,% | Vermenigvuldiging, deling, rest [8] |
+ x, -x, ~ x | Positief, negatief, bitgewijs NIET |
** | Exponentiatie [9] |
x [index], x [index: index], x (argumenten ...), x.attribute | Abonnement, segmentering, oproep, kenmerkreferentie |
(uitdrukkingen ...), [uitdrukkingen ...], {key: value ...}, uitdrukkingen ... | Bindende of tuple weergave, lijstweergave, woordenboekweergave, tekenreeksconversie |
Simple Operator Priority Voorbeelden in python.
Python volgt de PEMDAS-regel. PEMDAS staat voor haakjes, exponenten, vermenigvuldigen en delen en optellen en aftrekken.
Voorbeeld:
>>> 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
Extra's: wiskundige regels gelden, maar niet altijd :
>>> 300 / 300 * 200
200.0
>>> 300 * 200 / 300
200.0
>>> 1e300 / 1e300 * 1e200
1e+200
>>> 1e300 * 1e200 / 1e300
inf