Verstehen Sie, wo Integer-Objekte in Python gespeichert werden

高洛峰
Freigeben: 2016-10-17 16:35:21
Original
1337 Leute haben es durchsucht

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
Nach dem Login kopieren

Aus dem obigen Code ist ersichtlich, dass der Ganzzahltyp 5 schon immer existiert hat, der Ganzzahltyp 500 jedoch nicht existiert immer.

Welche Ganzzahlen sind 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
Nach dem Login kopieren

Wie wir aus dem oben Gesagten wissen, ist es kleiner oder gleich 256 ( 2 **8) Nicht negative Ganzzahlen 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
Nach dem Login kopieren

Und negative Zahlen werden nicht im Voraus vergeben.

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage