Hier möchte ich über "Referenz" in dem Sinne sprechen, dass ich möchte, dass Sie die Merkmale der Liste kennen, anstatt neues Wissen zu erklären.
Lassen Sie uns zuerst die Referenz überprüfen. Geben Sie den folgenden Code in die ** Python Console ** ein.
>>>Lx = [8, 6, 5, 9, 7]
>>>Ly = Lx
>>>Ly
[8, 6, 5, 9, 7]
Geben Sie in diesem Zustand den folgenden Code ein.
>>>Ly[4] = 1000
>>>Ly
[8, 6, 5, 9, 1000]
Ich denke, Sie können bis zu diesem Punkt verstehen. Einfach ausgedrückt, ordnen Sie die Liste [8, 6, 5, 9, 7] der Variablen ** Lx ** zu, weisen Sie sie Ly zu und weisen Sie Ly [4] 1000 zu, um den Inhalt zu erhalten. Bestätigen. Wenn Sie Ly anzeigen, ist dies natürlich [8, 6, 5, 9, ** 1000 **].
Lassen Sie uns nun ** Lx ** in diesem Zustand anzeigen. Dann wird es wie folgt sein.
>>>Lx
[8, 6, 5, 9, 1000]
Sie sollten die Elemente der ** Ly ** -Liste früher geändert haben, aber Sie können sehen, dass sich auch ** Lx ** geändert hat.
Ich möchte einen Blick hinter die Kulissen werfen.
Zuerst,
>>>Lx = [8, 6, 5, 9, 7]
In Bezug darauf weise ich Lx eine Liste zu. Das Wichtigste hier ist [Kapitel 02 "Variationen"](https://qiita.com/ko0821/items/8355b4e192aa76a0e8ae#%E5%A4%89%E6%95%B0%E9%87%8D%E8% Wie ich zum Zeitpunkt von A6% 81) erklärte, erwähnte ich, dass ** Variablen Tags ** sind.
Das Markieren von [8, 6, 5, 9, 7] in der Liste mit ** Lx ** ist wiederum dasselbe wie in Kapitel 02 erläutert. Die Figur ist wie folgt.
Dann als nächstes
>>>Ly = Lx
>>>Ly
[8, 6, 5, 9, 7]
Werfen wir einen Blick darauf. In Bezug auf ** Ly = Lx ** bedeutet dies bei dieser Zuweisung, dass ** sich auf das bezieht, worauf sich die Variable Lx bezieht, und auch auf die Variable Ly **.
Dann denke ich, dass es in der Abbildung unten dargestellt werden kann.
** Lx ** und ** Ly ** verweisen ** auf dieselbe Liste **. Wenn Ly ausgegeben wird, wird daher [8, 6, 5, 9, 7] ausgegeben.
Dann in diesem Zustand,
>>>Ly[4] = 1000
>>>Ly
[8, 6, 5, 9, 1000]
Dieser Abschnitt erklärt.
Da die Entität, auf die sich Ly bezieht, [8, 6, 5, 9, 7] ist, gilt die Operation für die Entität [8, 6, 5, 9, 7], wenn Ly [4] = 1000 ist. , [8, 6, 5, 9, ** 1000 **].
Daher kann es durch die folgende Abbildung dargestellt werden.
Wenn Sie in einem solchen Zustand ** Lx ** eingeben,
>>>Lx
[8, 6, 5, 9, 1000]
Und da die Entität, die sich auf ** Ly ** bezieht, dieselbe wie ** Lx ** ist, ändert sich auch das Ausgabeergebnis von ** Lx **.
Nicht nur auf die Referenzen in dieser Liste beschränkt, Referenzen werden in Zukunft an verschiedenen Stellen erscheinen. Es wird allgemein als ** Objektreferenz ** bezeichnet.
(*) </ font> Diejenigen, die die Java-Sprache beherrschen, sind möglicherweise mit diesem Referenzkonzept vertraut. Ich denke, dass das gleiche in "Array" passiert ist.
Bisher haben wir mit "Zuweisung" wie "Zuweisen eines Werts zu einer Variablen namens ** x **" erklärt. Von nun an werden wir Ausdrücke wie "Variable ** x ** bezieht sich auf eine Entität (Objekt)" und "Variable ** x ** zeigt an" verwenden.
Bisher bezogen sich die Variablen ** Lx ** und ** Ly ** auf die Liste (Objekt), und durch Bezugnahme darauf konnte der Inhalt der tatsächlichen Liste bestätigt werden.
Geben Sie nun unter Berücksichtigung der obigen Situation den folgenden Code über die ** Python-Konsole ** ein.
>>>Lx = 10
>>>Ly = ['Japan', 'Canada']
Was ich hier sagen möchte, ist, was mit der tatsächlichen Liste passiert [8, 6, 5, 9, 1000].
Die Variablen ** Lx ** und ** Ly ** beziehen sich auf verschiedene Entitäten, sodass die Liste der Entitäten [8, 6, 5, 9, 1000] nicht erreicht werden kann.
Wenn dies so bleibt, ist der Speicher des Computers voll. Um dies zu vermeiden, stellt Python fest, dass es sich um "Garbage Data" handelt, und löscht die tatsächliche Liste [8, 6, 5, 9, 1000].
Dies wird als ** Garbage Collection ** bezeichnet.
Dieses Mal habe ich die Funktionen der Liste beschrieben. Um ehrlich zu sein, verwende ich in der Praxis keine "Referenz", aber es ist etwas, das in jedem Python-Buch zu finden ist.
Wenn Sie Python für die Prüfung zur grundlegenden Informationstechnologie auswählen möchten, wird Ihnen wahrscheinlich eine Frage gestellt. Denken Sie also daran.
Recommended Posts