Es gibt "==" und "is" als Methode zum Vergleichen von Objekten, aber ich wusste nicht, wie ich sie richtig verwenden soll, deshalb habe ich die Unterschiede zusammengefasst.
Vergleichen Sie, ob Objekt 1 und Objekt 2 gleichwertig sind. Äquivalenz bedeutet "hat es den gleichen Wert?"
test01.py
object1=100
object2=100
if object1 == object2 :
print("Äquivalent")
else :
print("Nicht gleichwertig")
#Ausgabe: Äquivalent
In test01.py haben object1 und object2 denselben Wert (int type 100), sodass die if-Anweisung als True ausgewertet wird.
test02.py
object1=100 #int Typ 100
object2="100" #str Typ 100
if object1 == object2 :
print("Äquivalent")
else :
print("Nicht gleichwertig")
#Ausgabe: nicht gleichwertig
In test02.py werden "int type 100" und "str type 100" verglichen, sodass die if-Anweisung als False ausgewertet wird.
"Is" prüft, ob die verglichenen Objekte "dasselbe Objekt" sind.
test3.py
object1=[1,2,3]
object2=[1,2,3]
print(object1 is object2)
print(object1 is object1)
#Ausgabe
#False
#True
Wenn ein Objekt erstellt wird, wird diesem Objekt eine ID-Nummer (eindeutige Nummer) zugewiesen. "Is" vergleicht diese ID, um festzustellen, ob es sich um dasselbe Objekt handelt. Die ID-Nummer kann mit der ID-Methode ermittelt werden.
test04.py
object1=[1,2,3]
object2=[1,2,3]
print(id(object1)) #id()Suchen Sie die ID-Nummer dieses Objekts mit
print(id(object2))
print(object1 is object2)
print(object1 is object1)
#Ausgabe
#4488767496 (ID-Nummer von Objekt1)
#4488768392 (ID-Nummer von Objekt2)
#False
#True
"==" Überprüft, ob die verglichenen Objekte gleichwertig sind. "Is" prüft, ob die IDs der verglichenen Objekte äquivalent sind.
Recommended Posts