Heim > Backend-Entwicklung > Python-Tutorial > Wie vergleicht Python 2 Objekte unterschiedlichen Typs?

Wie vergleicht Python 2 Objekte unterschiedlichen Typs?

Mary-Kate Olsen
Freigeben: 2024-12-17 04:48:24
Original
548 Leute haben es durchsucht

How Does Python 2 Compare Objects of Different Types?

So funktioniert der Objektvergleich in Python 2

Das Verhalten von Python 2 beim Vergleich von Objekten unterschiedlicher Typen kann verwirrend sein, basiert aber auf den Implementierungsdetails, die in der Sprachspezifikation bereitgestellt werden.

Implementierungsspezifisches Verhalten

Beim Vergleich unterschiedlicher Objekte Typen verwendet Python 2 die folgende Reihenfolge:

  • Numerische Typen zuerst: Numerische Typen (Ganzzahlen, Gleitkommazahlen) haben Vorrang vor nicht numerischen Typen.
  • Lexikografische Reihenfolge für Zeichenfolgen: Zeichenfolgen werden verglichen lexikografisch.
  • Reihenfolge der Typnamen für nicht-numerische Zeichen:Objekte desselben Typs, aber ohne geeignete Vergleichsmethoden, werden nach ihren Typnamen sortiert und alphabetisch sortiert.

Beispiele

Zur Veranschaulichung:

print "100" < "2"      # True (lexicographic)
print "5" > "9"        # False (lexicographic)

print "100" < 2        # False (numeric first)
print 100 < "2"        # True (numeric first, lexicographic second)

print 5 > "9"          # False (lexicographic)
print "5" > 9          # True (numeric first, lexicographic second)

print [] > float('inf') # True (non-numeric ordering)
print () > []          # True (non-numeric ordering)
Nach dem Login kopieren

Umsetzung Details

Dieses Verhalten wird durch die CPython-Implementierung von Python 2 vorgeschrieben. Die Sprachspezifikation besagt, dass Objekte verschiedener Typen „willkürlich, aber konsistent“ angeordnet werden, wobei die Details der Implementierung überlassen werden.

Unterschiede zwischen Versionen und Implementierungen

In Python 3 führen Vergleiche zwischen Ganzzahlen und Zeichenfolgen zu einem Fehler. Andere Implementierungen von Python können ebenfalls ein etwas anderes Verhalten aufweisen.

Das obige ist der detaillierte Inhalt vonWie vergleicht Python 2 Objekte unterschiedlichen Typs?. 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