Heim > Artikel > Backend-Entwicklung > Spielt die Operatorpriorität beim Vergleich von Mitgliedschaft und Gleichheit in Python eine Rolle?
Verstehen der Operatorpriorität von „in“- und Vergleichsoperatoren in Python
Bei der Arbeit mit Operatoren in Python ist es wichtig, deren Rangfolge zu verstehen Vermeiden Sie unerwartete Ergebnisse. Der „in“-Operator prüft die Zugehörigkeit, während Vergleichsoperatoren (z. B. ==) die Gleichheit prüfen.
Berücksichtigen Sie die folgenden Vergleiche:
<code class="python">'1' in '11' # True ('1' in '11') == True # True</code>
Diese Vergleiche ergeben „True“, was „1“ anzeigt. ist Mitglied von '11'. Allerdings kann die Reihenfolge der Klammern das Ergebnis erheblich beeinflussen. Zum Beispiel:
<code class="python">'1' in ('11' == True) # TypeError</code>
Dies löst einen TypeError aus, da „1“ nicht in einem booleschen Wert (‚11‘ == True) sein kann, da boolesche Werte nicht iterierbar sind.
Um False ohne zu erhalten In Klammern können wir die Tatsache nutzen, dass „in“- und Vergleichsoperatoren standardmäßig die gleiche Priorität haben:
<code class="python">'1' in '11' == True # False</code>
In diesem Ausdruck ist der „in“-Operator nicht mit „== True“ verkettet. Stattdessen wird es zuerst ausgewertet und gibt „True“ zurück. Anschließend wird das Ergebnis (Wahr) mithilfe des Operators „==“ mit „Wahr“ verglichen, was zu „Falsch“ führt.
Das obige ist der detaillierte Inhalt vonSpielt die Operatorpriorität beim Vergleich von Mitgliedschaft und Gleichheit in Python eine Rolle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!