Ich habe eine Frage zum Verständnis der Identität. Ich arbeite mit python 3.4.0.
Folgendes habe ich in die Python-Shell eingegeben:
Code: Alles auswählen
>>> x = 1
>>> y = 1
>>> print(id(x), id(y))
10455040 10455040
Code: Alles auswählen
>>> id(x) == id(y)
True
Code: Alles auswählen
>>> a = -6
>>> b = -6
>>> print(id(a), id(b))
140571534466864 140571533906192
>>> id(a) == id(b)
False
Code: Alles auswählen
>>> c = -1
>>> d = -1
>>> print(id(c), id(d))
10454976 10454976
>>> id(c) == id(d)
True
Ich habe eine ganz allgemeine Frage: Wieso stellt Python automatisch Identität zwischen zwei Objekten her, wenn die Werte zweier Variablen gleich sind? Ich finde dieses Phänomen überraschend. Ich hätte nicht erwartet, dass bei zwei einfachen Zuordnungen wie "g = 5" und "h = 5" automatisch Identität hergestellt wird.
Vielen Dank für die Rückmeldungen!