In Python können Sie die Operatoren „ungleich“ und „gleich“ verwenden, um zu prüfen, ob zwei Python-Objekte denselben Wert haben. In diesem Tutorial erfahren Sie, wie Sie diese Operatoren mit vielen Beispielcodes verwenden.
In diesem Tutorial lernen Sie:
- die Syntax des Operators ungleich (!=) und Anwendungsfälle,
- die Syntax des Gleichheitsoperators (==) mit Beispielen und
- die Verwendung von is- und is not-Operatoren, um die Identität von zwei beliebigen Python-Objekten zu überprüfen.
Lass uns anfangen.
Inhaltsverzeichnis
Python-Ungleich-Operator-Syntax
Für zwei beliebige Python-Objekte obj1 und obj2 lautet die allgemeine Syntax zur Verwendung des Ungleichheitsoperators:
<obj1> != <obj2>
- gibt True zurück, wenn die Werte von obj1 und obj2 nicht gleich sind, und
- gibt andernfalls False zurück.
Hinweis: Wie oben erwähnt, können obj1 und obj2 Ganzzahlen, Fließkommazahlen, Strings, Listen usw. sein.
Codebeispiele für Python-Ungleich-Operatoren
Lassen Sie uns in diesem Abschnitt einige Beispiele codieren, um den Ungleich-Operator besser zu verstehen.
Verwenden des Python-Not-Equal-Operators für den Vergleich
Hier ist unser erstes Beispiel.
num1 = 27 num2 = 3*9 num1 != num2 # Output: False
Sie können die Codebeispiele in der wdzwdz-Python-IDE ausführen – direkt in Ihrem Browser. Oder Sie können wählen, ob Sie es auf Ihrem lokalen Computer ausführen möchten.
Da num1 = 27 ist und num2 ebenfalls 27 ergibt (3*9 = 27), sind die Werte von num1 und num2 gleich. Der Operator != gibt also False zurück.
Nehmen wir ein anderes Beispiel.
Im folgenden Code wird num1 auf 7 gesetzt. Und num2 wird auf die Zeichenfolge 7 gesetzt. Da es sich um unterschiedliche Datentypen handelt, gibt der Ungleich-Operator True zurück.
num1 = 7 num2 = "7" num1 != num2 # Output: True
Sie wandeln die Zeichenfolge wie gezeigt in eine ganze Zahl um:
num1 = 7 num2 = int("7") num1 != num2 # Output: False
In diesem Fall können Sie sehen, dass das zurückgegebene Ergebnis False ist, da num1 und num2 jetzt gleich der ganzen Zahl 7 sind.
Sie können den Ungleichheitsoperator auch mit Python-Sammlungen wie Listen, Tupeln und Mengen verwenden.
Hinweis: Bei Datensammlungen wie Listen funktioniert der Ungleich-Operator, indem er die Werte einzelner Elemente überprüft. Beispielsweise sind zwei Listen list1 und list2 – jede der Länge n – nur gleich, wenn list1[i] == Liste2[i] für i in {0,1,2,3,..n-1}.
Hier ist ein Beispiel:
list1 = [2,4,6,8] list2 = [2,4,6,9] list1 != list2 # Output: True
Im obigen Beispiel unterscheiden sich Liste1 und Liste2 nur durch ein Element. Und der Operator ungleich != gibt wie erwartet True zurück.
Verwenden des Python-Ungleich-Operators in Bedingungen
Sie werden den Ungleich-Operator oft als Teil von Python-Bedingungen verwenden.
Das folgende Code-Snippet zeigt beispielsweise, wie Sie überprüfen können, ob eine Zahl ungerade ist oder nicht.
Eine Zahl, die nicht ohne Rest durch 2 teilbar ist, ist ungerade. Und dies reduziert sich auf die Bedingung num%2 != 0.
num = 7 if(num%2 != 0): print("The number is odd.") else: print("The number is even.") # Output: The number is odd.
Sie können auch Bedingungen in verwenden Verständnis auflisten wenn Sie nur die Listenelemente beibehalten möchten, die eine bestimmte Bedingung erfüllen. Im Beispiel unten ist ungerade_10 die Liste aller ungeraden Zahlen kleiner als 10.
odd = [num for num in range(10) if num%2 != 0] print(odd) # Output: [1, 3, 5, 7, 9]
Und damit ist unsere Diskussion des Ungleichheitsoperators (!=) abgeschlossen.✅
Wie Sie vielleicht schon erraten haben, erzeugt der Gleich-Operator den gegenteiligen Effekt des Ungleich-Operators.
Mehr dazu erfahren Sie im nächsten Abschnitt.
Python-Syntax für Gleichheitsoperatoren
Hier ist die Syntax zur Verwendung des Gleichheitsoperators von Python:
<obj1> == <obj2> #where <obj1> and <obj2> are valid Python objects
- gibt True zurück, wenn die Werte von obj1 und obj2 gleich sind, und
- gibt andernfalls False zurück.
Codebeispiele für Python-Gleichheitsoperatoren
Der Gleichheitsoperator (==) kann sehr ähnlich wie der Ungleichheitsoperator verwendet werden.
Lassen Sie uns die folgenden Beispiele codieren:
- um zu prüfen, ob zwei Strings gleich sind,
- um zu prüfen, ob eine Zahl gerade ist, und
- Bedingungen im Listenverständnis zu verwenden
Verwenden des Python-Not-Equal-Operators für den Vergleich
Im folgenden Code-Snippet sind str1 und str2 in Bezug auf den Wert gleich. Der Gleichheitsoperator (==) gibt also True zurück.
str1 = "coding" str2 = "coding" str1 == str2 # Output: True
Python-Gleichheitsoperator
Lassen Sie uns nun den Gleichheitsoperator in einem bedingten Ausdruck verwenden.
Hinweis: Eine Zahl, die ohne Rest durch 2 teilbar ist, ist gerade. Und im Code reduziert sich dies auf die Bedingung num%2 == 0
num = 10 if(num%2 == 0): print("The number is even.") else: print("The number is odd.") # Output: The number is even.
Lassen Sie uns nun auf diesem Beispiel aufbauen und das Listenverständnis von Python verwenden, um alle geraden Zahlen kleiner als 10 zu erhalten.
even_10 = [num for num in range(10) if num%2 == 0] print(even_10) # Output: [0, 2, 4, 6, 8]
Im obigen Beispiel
- range(10) gibt ein Range-Objekt zurück, das durchlaufen werden kann, um alle Ganzzahlen von 0 bis 9 zu erhalten.
- Die Bedingung num%2 == 0 ist nur für gerade Zahlen wahr.
- Gerade_10 ist also die Liste aller geraden Zahlen kleiner als 10.
Bisher haben Sie gelernt, wie Sie mit den Operatoren ungleich (!=) und gleich (==) auf Gleichheit prüfen.
Im nächsten Abschnitt erfahren Sie, wie Sie die Identität zweier Objekte überprüfen. Sie prüfen, ob zwei Python-Objekte identisch sind.
How to Use Python’s is and is not Operators
Wenn Sie ein Anfänger in der Python-Programmierung sind, ist es möglich, dass Sie die Operatoren == und is verwechseln. Lassen Sie uns das in diesem Abschnitt klären.
Im vorherigen Abschnitt hatten wir ein Beispiel, bei dem str1 und str2 gleich waren und der Operator == True zurückgab.
Führen Sie nun das folgende Code-Snippet aus.
str1 = "coding" str2 = "coding" str1 is str2 # Output: False
Sie können sehen, dass str1 str2 False zurückgibt.
Lassen Sie uns einen Schritt zurückgehen und verstehen, was Pythons Operator is tut.
Der is-Operator wirkt auf zwei beliebige Python-Objekte.
Und gibt True nur zurück, wenn die beiden Objekte identisch sind – das heißt, sie verweisen auf dasselbe Objekt im Speicher.
Obwohl str1 gleich str2 ist, ist str1 nicht str2, da sie auf zwei verschiedene Objekte im Speicher zeigen. Und deshalb haben sie unterschiedliche Identitäten.
== und ist NICHT dasselbe
In Python können Sie die verwenden Ich würde() Funktion, um die Identität des Objekts zu erhalten.
▶ Führen Sie die folgende Codezelle aus, um die Identitäten von str1 und str2 zu erhalten.
id(str1) # Sample output: 139935398870320 id(str2) # Sample output: 139935398871344
Wie Sie sehen können, haben str1 und str2 unterschiedliche Identitäten. Und str1 ist str2 gibt wie erwartet False zurück.
Etwas zusammensetzen,
<obj1> is <obj2> # returns True if and only if id(<obj1>) == id(<obj2>) # returns True
Lassen Sie uns dies schnell überprüfen, wie gezeigt:
str1 = "coding" str2 = str1 print(str1 is str2) print(id(str1) == id(str2)) # Output True True
Intuitiv bewirkt der is not-Operator das Gegenteil des is-Operators.
Der is not-Operator wirkt auf zwei beliebige Python-Objekte.
Und gibt nur dann False zurück, wenn die beiden Objekte identisch sind – das heißt, sie verweisen auf dasselbe Objekt im Speicher. Andernfalls wird True zurückgegeben.
Versuchen Sie in den obigen Codebeispielen, is durch is not zu ersetzen, und überprüfen Sie die Ergebnisse.
Fazit 👩💻
Ich hoffe, Sie fanden dieses Tutorial hilfreich.
Zusammenfassend haben Sie gelernt:
- wie man die Operatoren gleich (==) und ungleich (!=) verwendet, um zu prüfen, ob zwei Python-Objekte denselben Wert haben,
- der Unterschied zwischen Gleichheit und Identität von Python-Objekten und
- wie Pythons is und is not-Operatoren helfen bei der Überprüfung, ob zwei Python-Objekte identisch sind.
Erfahren Sie hier, wie Sie Zeitunterschiede berechnen oder ein Schlangenspiel in Python erstellen.
Wir sehen uns alle im nächsten Tutorial. Bis dahin viel Spaß beim Lernen und Programmieren!🎉