Den „is“-Operator erneut verstehen
Der „is“-Operator in Programmiersprachen wie Python ist ein leistungsstarkes Werkzeug, das den Vergleich von ermöglicht Objekte, die über ihren Wert hinausgehen. Im Gegensatz zu weit verbreiteten Missverständnissen vergleicht „is“ nicht die Werte von Variablen, sondern die Instanzen selbst. Um diese Unterscheidung zu verstehen, betrachten Sie das bereitgestellte Beispiel:
x = [1, 2, 3] y = [1, 2, 3] print(x is y) # False
Hier gibt der „is“-Operator „False“ zurück, was darauf hinweist, dass sich die Variablen x und y auf unterschiedliche Instanzen beziehen, obwohl sie identische Werte haben. Dieser Unterschied ergibt sich aus dem Konzept der Objektidentität in Python.
Jedes Objekt in Python, einschließlich Listen, wird als eindeutige Instanz mit eigenem Speicherort gespeichert. Mit der Funktion „id()“ kann die Speicheradresse eines Objekts abgerufen werden, wodurch angezeigt wird, dass x und y separate Adressen haben:
print(id(x)) # 123456789 print(id(y)) # 987654321
Bei Verwendung des Operators „is“ wird geprüft, ob zwei Variablen vorhanden sind beziehen sich auf genau die gleiche Instanz. In diesem Fall sind x und y separate Instanzen des Listentyps, obwohl ihre Inhalte identisch sind.
Um Werte anstelle der Objektidentität zu vergleichen, sollte der Gleichheitsoperator „==“ verwendet werden:
print(x == y) # True
Im Gegensatz zu „is“ überprüft „==", ob die Werte zweier Objekte übereinstimmen.
Das obige ist der detaillierte Inhalt vonWann erzeugen die Python-Operatoren „is' und „==' unterschiedliche Ergebnisse?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!