Rangfolge logischer Operatoren (NICHT, UND, ODER) in Python
Im Gegensatz zu C und C, wo die Rangfolge logischer Operatoren der Reihenfolge folgt NICHT > UND > ODER, die Rangfolge von Python kann verwirrend erscheinen.
Klarstellung
In Python ist die Rangfolge für logische Operatoren tatsächlich:
NICHT > ; UND > ODER
Dies bedeutet, dass NOT eine höhere Priorität hat als UND, während UND eine höhere Priorität hat als ODER.
Präzedenztabelle
Für a Umfassendes Verständnis der Operatorpriorität in Python. Hier finden Sie die vollständige Rangfolge Tabelle:
Precedence | Operator | |
---|---|---|
0 | := | |
1 | lambda | |
2 | if - else | |
3 | or | |
4 | and | |
5 | not x | |
6 | in, not in, is, is not, <, <=, >, >=, !=, == | |
7 | ||
8 | ^ | |
9 | & | |
10 | <<, >> | |
11 | , - | |
12 | *, @, /, //, % | |
13 | x, -x, ~x | |
14 | **, await x | |
15 | x[index], x[index:index], x(arguments...), x.attribute | |
16 | (expressions...), [expressions...], {key: value...}, {expressions...} |
Beispiel
Betrachten Sie den folgenden Ausdruck:
x = not (a or b) and c
Anhand der Rangfolgetabelle werten wir den Ausdruck wie folgt aus:
Das obige ist der detaillierte Inhalt vonWie unterscheidet sich die Priorität logischer Operatoren in Python von C und C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!