Heim  >  Artikel  >  Backend-Entwicklung  >  Verstehen Sie, wo Integer-Objekte in Python gespeichert werden

Verstehen Sie, wo Integer-Objekte in Python gespeichert werden

大家讲道理
大家讲道理Original
2016-11-07 11:35:181547Durchsuche

Die Speicherorte von Integer-Objekten in Python sind unterschiedlich und werden immer im Speicher gespeichert, während andere bei Verwendung Speicherplatz freigeben. Der Grund für diesen Satz ist ersichtlich im folgenden Code:

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

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, sind Nicht-Ganzzahlen kleiner oder gleich 256 (2**8) Negativ Ganzzahlen werden immer gespeichert (das heißt, 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 werden nicht im Voraus zugewiesen.

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