Heim  >  Artikel  >  Backend-Entwicklung  >  Wo Integer-Objekte in Python gespeichert werden

Wo Integer-Objekte in Python gespeichert werden

高洛峰
高洛峰Original
2016-10-17 11:53:061298Durchsuche

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.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn