Unveränderlicher Python-Typ int memo

Der int-Typ ist ein unveränderlicher Typ. Daher kann der einmal im Speicher gespeicherte Wert nicht geändert werden.

Wenn die Werte gleich sind, z. B. wenn mehrere Variablen vorhanden sind, denen 1 zugewiesen ist, beziehen sich alle diese Variablen nur auf einen Speicher, in dem 1 gespeichert ist. Wird Speicher gelöscht, auf den nicht mehr von Variablen verwiesen wird? (Untersuchung erforderlich) (Wird es wie ein schneller Referenzzähler sein?)

qiita.rb


>>> int1 = 1
>>> int2 = 1
>>> print(id(int1), id(int2))#Ausgangsreferenzspeicher-ID
4383344848 4383344848
>>> int2 = 3
>>> print(id(int1), id(int2))
4383344848 4383344912
>>> int2 = 1
>>> print(id(int1), id(int2))
4383344848 4383344848


>>> intList = [1,2,3,4,5]
>>> print(id(intList[0])) #Index zum Speichern 1
4383344848

>>> print(id(intList[2])) #"3"Referenzspeicher-ID
4383344912 #Ich habe es gerade int2 zugewiesen"3"Es ist das gleiche wie die ID von.(Die Anzahl der Referenzvariablen für 3 ist Null geworden, aber ich frage mich, ob der Speicher sofort bereinigt wird.)

Nachtrag 2020/10/04:

Wird Speicher gelöscht, auf den nicht mehr von Variablen verwiesen wird? (Untersuchung erforderlich) (Wird es wie ein schneller Referenzzähler sein?) Es ist dasselbe wie die ID von "3", die zuvor int2 zugewiesen wurde. (Die Anzahl der Referenzvariablen für 3 war Null, aber ich frage mich, ob der Speicher sofort bereinigt wird.)

Sie haben die obige Antwort im Kommentarbereich kommentiert. Vielen Dank, dass Sie @shiracamus.

Recommended Posts

Unveränderlicher Python-Typ int memo
Python-Datentyp-Zusammenfassungsnotiz
Python-Memo
Python-Memo
Python-Memo
Python-Memo
Python-Memo
[Persönliches Memo] Python-Sequenztyp / Zuordnungstyp
Numerischer Python-Typ
Python-Anfänger-Memo (9.2-10)
Python-Anfänger-Memo (9.1)
★ Memo ★ Python Iroha
[Python] EDA-Memo
Python 3-Operator-Memo
[Mein Memo] Python
Python2-Zeichenfolgentyp
Python3-Metaklassen-Memo
Python # String-Typ
[Python] Grundkarten-Memo
Python-Anfänger-Memo (2)
[Python] Numpy Memo
Python Hinweis: Behandeln Sie Listen gemeinsam als Satz
Python Int ist unendlich
Python-Klasse (Python-Lernnotiz ⑦)
Python OpenCV Installation (Memo)
Python-Modul (Python-Lernnotiz ④)
Visualisierungsnotiz von Python
Python-Testpaket-Memo
[Python] Memo über Funktionen
Python-Memo für reguläre Ausdrücke
Memo zur Bisektionssuche (python2.7)
[Mein Memo] Python -v / Python -V
Python3-Memo vom Typ Liste / Wörterbuch
[Memo] Python 3-Listensortierung
Python-Tipps (mein Memo)
DynamoDB Script Memo (Python)
Python-Grundnotiz - Teil 2
Python-Rezeptbuch Memo
Grundlegende Python-Befehlsnotizen
Python OpenCV Tutorial Memo
Python grundlegende Grammatik Memo
TensorFlow API-Memo (Python)
Python # Überprüfen Sie die Typidentität
Python nützliche Memo-Links
Python-Dekorator-Operationsnotiz
Python-Grundnotiz - Teil 1
Effektives Python-Memo Punkt 3
Ungefähre Aufzählung Python-Memo
Python - Hinweise beim Konvertieren vom Typ str in den Typ int
Python-Memo mit Perl - Wörterbuchtyp (Groß- / Kleinschreibung ungültig)
Python-Memo (für mich): Array
Behandlung von Python-Ausnahmen (Python-Lernnotiz ⑥)
Memo zur Messung der Python-Ausführungszeit
Konvertieren Sie numpy int64 in python int
[Line / Python] Beacon-Implementierungsnotiz
Python --Überprüfen Sie den Wertetyp
Python-Grammatik-Grundnotiz (1)
Persönliches Python-Code-Memo