Wie funktioniert die Priorität logischer Operatoren in Python?

Mary-Kate Olsen
Freigeben: 2024-11-17 18:45:02
Original
694 Leute haben es durchsucht

How Does Logical Operator Precedence Work in Python?

Vorrang logischer Operatoren in Python

Beim Umgang mit logischen Operatoren in Programmiersprachen ist es entscheidend, deren Vorrang und Reihenfolge der Operationen zu verstehen. In Python folgen die Operatoren NOT, AND und OR einer bestimmten Hierarchie, die die Reihenfolge regelt, in der sie Ausdrücke auswerten.

Rangfolge:

Im Gegensatz zur Rangfolge Reihenfolge in C und C (NICHT > UND > ODER), Python hat seine eigene eindeutige Reihenfolge:

1. NICHT
2. UND
3. ODER

Von der höchsten zur niedrigsten Priorität wird zuerst NICHT ausgewertet, gefolgt von UND und dann ODER. Dies bedeutet, dass NOT-Operationen Vorrang vor AND und OR haben und AND-Operationen Vorrang vor OR haben.

Beispiel:

Betrachten Sie den folgenden Python-Ausdruck:

result = not a and b or c
Nach dem Login kopieren

Gemäß der Rangfolge wird der Ausdruck als ausgewertet folgt:

  1. a wird auf Wahrhaftigkeit überprüft.
  2. Wenn a falsch ist, ist a nicht wahr. Andernfalls ist es falsch.
  3. Wenn das Ergebnis von nicht a wahr ist und b zu b ausgewertet wird. Andernfalls ist es falsch.
  4. Wenn das Ergebnis von und b wahr ist, wird der gesamte Ausdruck als wahr ausgewertet. Andernfalls wird das Ergebnis von oder c ausgewertet.
  5. c wird auf Wahrhaftigkeit überprüft.
  6. Wenn c True ist, wird der gesamte Ausdruck als True ausgewertet. Andernfalls ist es falsch.

Vollständige Prioritätstabelle:

Eine umfassende Liste der Operatorprioritäten in Python finden Sie im Folgenden Tabelle:

410
Vorrang Operatoren
0 td> Zuweisung (=)
1 Lambda-Funktionen (Lambda)
2 Bedingter Ausdruck (if-else)
Precedence Operators
0 Assignment (=)
1 Lambda functions (lambda)
2 Conditional expression (if-else)
3 Logical OR (or)
4 Logical AND (and)
5 Logical NOT (not)
6 Comparison operators (<, <=, >, >=, !=, ==)
7 Bitwise OR ( )
8 Bitwise XOR (^), Bitwise AND (&)
9 Shift operators (<<, >>)
10 Addition ( ), Subtraction (-)
11 Multiplication (*), Division (/), Floor division (//), Modulo (%)
12 Unary plus ( ), Unary minus (-), Bitwise NOT (~)
13 Exponentiation (**)
14 Coroutine creation (async with)
15 Indexing and slicing ([...], [...]), Function calls, Attribute access
16 Parentheses, Square brackets, Braces, Set literals
3
Logisches ODER (oder)
Logisches UND (und)
5 Logisch NICHT (nicht)
6 Vergleichsoperatoren (<, <=, >, >=, !=, ==) td>
7 Bitweises ODER ( )
8 Bitweises XOR (^), bitweises UND (&)
9 Umschaltoperatoren (<<, >>)
Addition ( ), Subtraktion (-)
11 Multiplikation (*), Division (/), Bodeneinteilung (//), Modulo (%)
12 Unäres Plus ( ), Unäres Minus (-), Bitweises NICHT (~)
13 Potenzierung (**)
14 Coroutine-Erstellung (asynchron mit)
15 Indizierung und Slicing ([...], [...]), Funktionsaufrufe, Attributzugriff
16 Klammern, eckige Klammern, geschweifte Klammern, Satzliterale

Das obige ist der detaillierte Inhalt vonWie funktioniert die Priorität logischer Operatoren in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage