Heim >Backend-Entwicklung >Python-Tutorial >Detaillierte Erläuterung der Methoden is und == zum Vergleichen zweier Objekte in Python
Dieser Artikel stellt hauptsächlich die relevanten Informationen zu den beiden Methoden zum Vergleichen zweier Objekte vor, nämlich und == in Python. Ich hoffe, dieser Artikel kann allen bedürftigen Freunden helfen
Is und == in Python sind zwei Möglichkeiten, zwei Objekte zu vergleichen
In Python gibt es zwei Möglichkeiten zu vergleichen, ob zwei Objekte gleich sind, nämlich is und ==, zwischen den beiden ist unterschiedlich
== vergleicht Werte (wie die Methode equal in Java)
ist vergleicht Referenzen (kann als Vergleich von Speicheradressen angesehen werden, ähnlich wie = = in Java)
für:
>>> n = 1 >>> n is 1 True >>> b = '1' >>> b is 1 False >>> n == b False
aufgrund von 1 und '1' Es ist unterschiedlich, ob es ein ist Wert oder eine Referenz, daher ist das Ergebnis falsch
Für:
>>> n = 1 >>> n is 1 True
Hier ist ein Wissenspunkt, einfach Es wird gesagt, dass es sich um primitive Typen handelt Wie bei Ganzzahlen ist der Referenzvergleich jedoch ein Wertvergleich. Für Zahlen zwischen -5 und 256 wird ein Array im Speicher reserviert, um diese Zahlen direkt zu speichern . Für Zahlen außerhalb dieses Bereichs wird ein neues int-Objekt
erstellt. Ein einfaches Beispiel lautet wie folgt:
#a和b的值超出256 >>> a = 257 >>> b = 257 >>> a is b False #a和b的值在-5和256之间 >>> a = 256 >>> b = 256 >>> a is b True
Wie im obigen Beispiel gezeigt, initialisiert Python keinen neuen Speicherplatz für die Variable, solange es sich um eine Ganzzahl zwischen -5 und 256 handelt. Sobald der Wert jedoch 256 überschreitet, wird neuer Speicherplatz zugewiesen.
Sie können den Unterschied in den Speicheradressen der beiden Objekte auch direkt erkennen, indem Sie die IDs der beiden Objekte ausdrucken, wie unten gezeigt:
#a和b的值超出256 >>> a = 257 >>> b = 257 >>> >>> >>> id(a) 140638347685960 >>> id(b) 140638347686008 #a和b的值在-5和256之间 >>> a = 256 >>> b = 256 >>> id(a) 140638347656864 >>> id(b) 140638347656864
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Methoden is und == zum Vergleichen zweier Objekte in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!