Angenommen, ich gebe zwei Variablen in der IDLE-Shell genau den gleichen Tupelwert und vergleiche ihre id()
Code: Select all
>>> a = (1,2,3)
>>> b = (1,2,3)
>>> id(a) == id(b)
False
Dies ergibt wie erwartet „false“, aber wenn ich das Äquivalent für eine .py-Datei ausführe
Code: Select all
a = (1,2,3)
b = (1,2,3)
print(id(a) == id(b))
Es gibt die Ausgabe True.
Obwohl ich beim Vergleichen von Sätzen wie erwartet False erhalte
Code: Select all
a = {1,2,3}
b = {1,2,3}
print(id(a) == id(b))
Bitte erläutern Sie, warum der Vergleich von IDs zweier gleicher Tupel bei IDLE und einer .py-Datei zu unterschiedlichen Ergebnissen führt (oder ist das etwas, mit dem nur ich konfrontiert bin)? Ich verwende Python 3.12.4