In Python stehen die Operatoren „ungleich“ und „gleich“ zur Verfügung, um zu überprüfen, ob zwei Objekte denselben Wert besitzen. Dieses Tutorial erklärt, wie diese Operatoren anhand zahlreicher Codebeispiele verwendet werden.
In diesem Tutorial werden folgende Themen behandelt:
- Die Syntax des Ungleichheitsoperators (!=) und typische Anwendungsszenarien.
- Die Syntax des Gleichheitsoperators (==) mit verschiedenen Beispielen.
- Die Anwendung der Operatoren ‚is‘ und ‚is not‘, um die Identität von Python-Objekten zu verifizieren.
Beginnen wir nun.
Syntax des Python Ungleichheitsoperators
Für zwei beliebige Python-Objekte, genannt obj1 und obj2, lautet die allgemeine Syntax des Ungleichheitsoperators wie folgt:
<obj1> != <obj2>
- Diese Anweisung gibt „True“ zurück, wenn die Werte von obj1 und obj2 nicht identisch sind.
- Andernfalls wird „False“ zurückgegeben.
Hinweis: Wie bereits erwähnt, können obj1 und obj2 verschiedene Datentypen annehmen, darunter ganze Zahlen, Gleitkommazahlen, Zeichenketten und Listen.
Codebeispiele für den Python Ungleichheitsoperator
Um den Gebrauch des Ungleichheitsoperators zu veranschaulichen, betrachten wir einige Codebeispiele.
Anwendung des Python Ungleichheitsoperators zum Vergleich
Hier ist das erste Beispiel:
num1 = 27 num2 = 3 * 9 num1 != num2 # Ausgabe: False
Sie können diese Codebeispiele in der Online-Python-IDE von wdzwdz direkt im Browser ausführen oder sie auf Ihrem lokalen Computer testen.
Da num1 den Wert 27 hat und num2 ebenfalls 27 ergibt (3 * 9 = 27), sind die Werte von num1 und num2 identisch. Daher gibt der Operator != „False“ zurück.
Betrachten wir ein weiteres Beispiel:
Im folgenden Code wird num1 auf 7 gesetzt, während num2 der String „7“ zugewiesen bekommt. Da es sich um unterschiedliche Datentypen handelt, resultiert der Ungleichheitsoperator in der Ausgabe „True“.
num1 = 7 num2 = "7" num1 != num2 # Ausgabe: True
Um den String in eine Ganzzahl umzuwandeln, nutzen wir folgenden Ansatz:
num1 = 7 num2 = int("7") num1 != num2 # Ausgabe: False
In diesem Fall ist die Ausgabe „False“, weil num1 und num2 beide den Ganzzahlwert 7 darstellen.
Der Ungleichheitsoperator kann auch für Python-Sammlungen wie Listen, Tupel und Mengen eingesetzt werden.
Hinweis: Bei Datensammlungen wie Listen vergleicht der Ungleichheitsoperator die einzelnen Elemente. Zwei Listen, list1 und list2, mit jeweils n Elementen sind beispielsweise nur dann gleich, wenn list1[i] == list2[i] für alle i im Bereich {0, 1, 2, 3, …, n-1} gilt.
Ein Beispiel hierzu:
list1 = [2, 4, 6, 8] list2 = [2, 4, 6, 9] list1 != list2 # Ausgabe: True
Im obigen Beispiel unterscheidet sich list1 von list2 durch ein einziges Element. Folglich liefert der Operator != wie erwartet „True“.
Anwendung des Python Ungleichheitsoperators in Bedingungen
Der Ungleichheitsoperator wird häufig als Teil von Python-Bedingungen verwendet.
Das folgende Codebeispiel demonstriert, wie überprüft wird, ob eine Zahl ungerade ist. Eine Zahl ist ungerade, wenn sie nicht ohne Rest durch 2 teilbar ist, was durch die Bedingung num % 2 != 0 ausgedrückt wird.
num = 7 if(num % 2 != 0): print("Die Zahl ist ungerade.") else: print("Die Zahl ist gerade.") # Ausgabe: Die Zahl ist ungerade.
Bedingungen können auch in List Comprehensions genutzt werden, wenn nur Listenelemente behalten werden sollen, die eine bestimmte Bedingung erfüllen. Im folgenden Beispiel ist ungerade_10 eine Liste, die alle ungeraden Zahlen unter 10 enthält.
odd = [num for num in range(10) if num % 2 != 0] print(odd) # Ausgabe: [1, 3, 5, 7, 9]
Damit ist unsere Diskussion über den Ungleichheitsoperator (!=) abgeschlossen. ✅
Wie Sie vielleicht schon vermutet haben, erzeugt der Gleichheitsoperator den entgegengesetzten Effekt des Ungleichheitsoperators.
Mehr dazu im folgenden Abschnitt.
Syntax des Python Gleichheitsoperators
Hier ist die Syntax zur Verwendung des Python-Gleichheitsoperators:
<obj1> == <obj2> # wobei <obj1> und <obj2> gültige Python-Objekte sind.
- Diese Anweisung gibt „True“ zurück, wenn die Werte von obj1 und obj2 gleich sind.
- Andernfalls wird „False“ zurückgegeben.
Codebeispiele für den Python Gleichheitsoperator
Der Gleichheitsoperator (==) kann auf sehr ähnliche Weise wie der Ungleichheitsoperator verwendet werden.
Betrachten wir folgende Beispiele:
- Überprüfung, ob zwei Zeichenketten gleich sind.
- Überprüfung, ob eine Zahl gerade ist.
- Anwendung von Bedingungen in List Comprehensions.
Anwendung des Python Gleichheitsoperators zum Vergleich
Im folgenden Codeabschnitt sind str1 und str2 in Bezug auf ihren Wert identisch. Daher gibt der Gleichheitsoperator (==) „True“ zurück.
str1 = "coding" str2 = "coding" str1 == str2 # Ausgabe: True
Python Gleichheitsoperator.
Nutzen wir den Gleichheitsoperator nun in einem bedingten Ausdruck.
Hinweis: Eine Zahl ist gerade, wenn sie ohne Rest durch 2 teilbar ist. Im Code entspricht dies der Bedingung num % 2 == 0.
num = 10 if(num % 2 == 0): print("Die Zahl ist gerade.") else: print("Die Zahl ist ungerade.") # Ausgabe: Die Zahl ist gerade.
Erweitern wir dieses Beispiel und nutzen List Comprehension, um alle geraden Zahlen kleiner als 10 zu erhalten.
even_10 = [num for num in range(10) if num % 2 == 0] print(even_10) # Ausgabe: [0, 2, 4, 6, 8]
Im obigen Beispiel:
- range(10) gibt ein Range-Objekt zurück, das iteriert werden kann, um alle ganzen Zahlen von 0 bis 9 zu erhalten.
- Die Bedingung num % 2 == 0 ist nur für gerade Zahlen erfüllt.
- even_10 ist somit die Liste aller geraden Zahlen, die kleiner als 10 sind.
Bislang haben Sie gelernt, wie die Operatoren ungleich (!=) und gleich (==) verwendet werden, um auf Wertgleichheit zu prüfen.
Im nächsten Abschnitt lernen Sie, wie die Identität von zwei Objekten überprüft wird – also ob zwei Python-Objekte tatsächlich dasselbe Objekt sind.
Verwendung der Python-Operatoren ‚is‘ und ‚is not‘
Wenn Sie ein Python-Anfänger sind, verwechseln Sie möglicherweise die Operatoren == und is. Lassen Sie uns diese Unterscheidung hier klären.
Im vorherigen Abschnitt hatten wir ein Beispiel, in dem str1 und str2 gleich waren und der Operator == True zurückgab.
Führen Sie nun das folgende Codefragment aus:
str1 = "coding" str2 = "coding" str1 is str2 # Ausgabe: False
Wie Sie sehen, gibt str1 is str2 „False“ zurück.
Betrachten wir genauer, was der Python-Operator ‚is‘ bewirkt.
Der ‚is‘-Operator vergleicht zwei Python-Objekte und gibt „True“ nur dann zurück, wenn die beiden Objekte identisch sind, d.h. wenn sie auf dasselbe Speicherobjekt verweisen.
Obwohl str1 gleich str2 ist, ist str1 is str2 „False“, da sie auf zwei verschiedene Speicherobjekte zeigen und somit unterschiedliche Identitäten besitzen.
== und is sind NICHT dasselbe.
In Python können Sie die id()-Funktion verwenden, um die Identität eines Objekts abzurufen.
▶ Führen Sie die folgende Codezelle aus, um die Identitäten von str1 und str2 zu erhalten:
id(str1) # Beispielhafte Ausgabe: 139935398870320 id(str2) # Beispielhafte Ausgabe: 139935398871344
Wie Sie sehen, besitzen str1 und str2 unterschiedliche Identitäten. Daher gibt str1 is str2 wie erwartet „False“ zurück.
Zusammenfassend lässt sich sagen:
<obj1> is <obj2> # gibt True zurück, wenn und nur wenn id(<obj1>) == id(<obj2>) # True zurückgibt.
Lassen Sie uns dies wie folgt verifizieren:
str1 = "coding" str2 = str1 print(str1 is str2) print(id(str1) == id(str2)) # Ausgabe True True
Intuitiv bewirkt der ‚is not‘-Operator das Gegenteil des ‚is‘-Operators.
Der ‚is not‘-Operator vergleicht zwei Python-Objekte und gibt „False“ nur dann zurück, wenn beide Objekte identisch sind, d. h. wenn sie auf dasselbe Speicherobjekt zeigen. Ansonsten wird „True“ zurückgegeben.
Ersetzen Sie in den obigen Codebeispielen ‚is‘ durch ‚is not‘ und überprüfen Sie die Ergebnisse.
Fazit 👩💻
Ich hoffe, dieses Tutorial war hilfreich für Sie.
Zusammenfassend haben Sie Folgendes gelernt:
- Wie die Operatoren gleich (==) und ungleich (!=) eingesetzt werden, um festzustellen, ob zwei Python-Objekte denselben Wert haben.
- Den Unterschied zwischen Gleichheit und Identität von Python-Objekten.
- Wie die Python-Operatoren ‚is‘ und ‚is not‘ dazu beitragen, zu prüfen, ob zwei Python-Objekte identisch sind.
Erfahren Sie hier, wie Sie Zeitunterschiede berechnen oder ein Schlangenspiel in Python entwickeln.
Wir sehen uns im nächsten Tutorial. Bis dahin viel Spaß beim Lernen und Programmieren! 🎉