Mitgliedschafts- und Identitätsoperatoren verwenden
In diesem letzten Schritt behandeln wir die Mitgliedschaftsoperatoren (in, not in) und die Identitätsoperatoren (is, is not). Mitgliedschaftsoperatoren prüfen, ob ein Wert in einer Sequenz vorhanden ist, während Identitätsoperatoren prüfen, ob zwei Variablen auf dasselbe Objekt im Speicher verweisen.
Arbeiten Sie weiterhin mit der Datei operators.py.
Fügen wir zunächst Beispiele für Mitgliedschaftsoperatoren hinzu. Diese werden häufig mit Sequenzen wie Listen, Tupeln und Strings verwendet.
Fügen Sie den folgenden Code am Ende Ihrer Datei operators.py hinzu:
## Membership Operators
print("\n--- Membership Operators ---")
my_list = [1, 3, 5, 7]
print(f'3 in {my_list} is {3 in my_list}')
print(f'4 not in {my_list} is {4 not in my_list}')
greeting = "hello world"
print(f'"world" in "{greeting}" is {"world" in greeting}')
Speichern Sie die Datei und führen Sie sie aus:
python ~/project/operators.py
Die Ausgabe für die Mitgliedschaftsoperatoren lautet:
... (output from previous steps) ...
--- Membership Operators ---
3 in [1, 3, 5, 7] is True
4 not in [1, 3, 5, 7] is True
"world" in "hello world" is True
Nun untersuchen wir die Identitätsoperatoren. Es ist wichtig, den Unterschied zwischen is (Identität) und == (Gleichheit) zu verstehen. == prüft, ob die Werte zweier Objekte gleich sind, während is prüft, ob sie dasselbe Objekt sind (d.h. sie haben dieselbe Speicheradresse).
Fügen Sie den folgenden Code zu Ihrer Datei operators.py hinzu:
## Identity Operators
print("\n--- Identity Operators ---")
## For small integers, Python often reuses the same object.
x = 256
y = 256
print(f'x is y (for 256): {x is y}') ## This is often True
## For larger integers, Python may create separate objects.
a = 257
b = 257
print(f'a is b (for 257): {a is b}') ## This is often False
## For mutable objects like lists, they are different objects even if their content is the same.
list1 = [1, 2, 3]
list2 = [1, 2, 3]
print(f'list1 == list2: {list1 == list2}') ## Checks for equal content (True)
print(f'list1 is list2: {list1 is list2}') ## Checks for same object (False)
print(f'list1 is not list2: {list1 is not list2}') ## Checks for different objects (True)
Speichern Sie die Datei und führen Sie sie ein letztes Mal aus:
python ~/project/operators.py
Die Ausgabe demonstriert den Unterschied zwischen Gleichheit und Identität:
... (output from previous examples) ...
--- Identity Operators ---
x is y (for 256): True
a is b (for 257): True
list1 == list2: True
list1 is list2: False
list1 is not list2: True
Sie haben erfolgreich Mitgliedschafts- und Identitätsoperatoren verwendet und damit Ihre Untersuchung der Hauptoperatortypen in Python abgeschlossen.