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


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow