Heim >Backend-Entwicklung >Python-Tutorial >Warum wird „0 < 0 == 0' in Python als „Falsch' ausgewertet?
Verkettete Vergleiche in Python: Das Geheimnis von 0
In den Tiefen des Standardbibliothekscodes von Python liegt ein rätselhaftes Konstrukt in Queue.py aus Python 2.6:
def full(self): """Return True if the queue is full, False otherwise (not reliable!).""" self.mutex.acquire() n = 0 <p>Warum ist dieser Ausdruck 0 </p><p><strong>Verkettete Vergleiche: Pythons Verknüpfung</strong></p><p>Python hat eine einzigartige Funktion namens „verkettete Vergleiche“, die die Darstellung von Bereichsvergleichen prägnanter macht. Folgendes entspricht beispielsweise der Verwendung verketteter Vergleiche:</p><pre class="brush:php;toolbar:false">0 <p>Intern werden diese verketteten Vergleiche unterschiedlich interpretiert. Python wertet den Ausdruck von links nach rechts aus und gibt den Wert des ersten Vergleichs zurück, der „False“ ergibt. In unserem Fall ist 0 </p><p>Wenn dagegen Klammern eingeführt werden, erzwingen sie, dass die Auswertung des darin enthaltenen Ausdrucks vor der nächsten abgeschlossen wird Vergleich angewendet wird. Dies negiert das verkettete Vergleichsverhalten. Als Ergebnis erhalten wir die erwarteten True-Werte, wenn Klammern hinzugefügt werden:</p><pre class="brush:php;toolbar:false">(0 <p>Daher ist der Ausdruck der Methode full(), 0 </p>
Das obige ist der detaillierte Inhalt vonWarum wird „0 < 0 == 0' in Python als „Falsch' ausgewertet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!