Die Speicherorte von Ganzzahlobjekten in Python sind unterschiedlich. Einige sind vorab zugewiesener Speicher und werden immer im Speicher gespeichert, während andere bei Verwendung Speicherplatz freigeben.
Den Grund dafür können Sie dem folgenden Code entnehmen:
a = 5 b = 5 a is b # True a = 500 b = 500 a is b # False
Aus dem obigen Code können wir ersehen, dass der Ganzzahltyp 5 immer existiert, der Ganzzahltyp 500 jedoch nicht immer existiert.
Welche Ganzzahlen haben also vorab zugewiesene Speicheradressen?
a, b, c = 0, 0, 0 i = 0 while a is b: i += 1 a, b = int(str(i)), int(str(i)) else: print(i) # 打印 257
Wie wir aus dem oben Gesagten wissen, ist es kleiner oder gleich 256 ( 2 **8) Nicht negative ganze Zahlen werden immer gespeichert (dh ihre Speicheradressen werden im Voraus zugewiesen und müssen später nicht zugewiesen werden)
a = -1 b = -1 a is b # False
Und negative Zahlen sind es nicht vorbelegt Öffnen.