Studiennotizen für First Python 3rd Edition
a = 3
--Variablen werden erstellt, sobald der Wert zugewiesen wird
--Alle durch das entsprechende Objekt ersetzt
a = 3
b = a
Wie ist das
Auf diese Weise wird ** eine Situation, in der mehrere Variablen Verweise auf dasselbe Objekt sind **, als ** gemeinsame Referenz ** bezeichnet.
Fügen Sie dann dem vorherigen Code eine Zeile hinzu
a = 3
b = a
a = 'spam'
Das ist so Die Variable a dient als Referenz auf das neu erstellte String-Objekt 'pam', während die Variable b eine Referenz auf Objekt 3 bleibt.
Eine Liste ist ein Array von Objekten in eckigen Klammern, die überschrieben werden können.
Im folgenden Beispiel bleibt L2 ein Verweis auf "[2, 3, 4]"
L1 = [2, 3, 4]
L2 = L1
L1 = 24
Im folgenden Beispiel wird der Wert des Referenzobjekts überschrieben.
#Variables Objekt
>>> L1 = [2, 3, 4]
#Verweisen Sie erneut auf dasselbe Objekt
>>> L2 = L1
#Elemente überschreiben
>>> L1[0] = 24
#An der Liste für L1 wurden Änderungen vorgenommen
>>> L1
[24, 3, 4]
#Es betrifft auch L2!
>>> L2
[24, 3, 4]
Wenn Sie mit der folgenden Methode kopieren, wird L2 nicht geändert und ** 2 Variablen zeigen unterschiedliche Speicherbereiche an **
#Variables Objekt
>>> L1 = [2, 3, 4]
#Machen Sie eine Kopie von L1
>>> L2 = L1[:]
#Elemente überschreiben
>>> L1[0] = 24
#An der Liste für L1 wurden Änderungen vorgenommen
>>> L1
[24, 3, 4]
#L2 ändert sich nicht
>>> L2
[2, 3, 4]
>>> x = 42
#Werden 42 bald zerstört?
>>> x = 'shrubbery'
** In Python werden kleine Ganzzahlen und Zeichenfolgen mit einer geringen Anzahl von Zeichen zwischengespeichert und wiederverwendet **
>>> L = [1, 2, 3]
#M und L sind Referenzen für dasselbe Objekt
>>> M = L
#Vergleich, ob beide "gleichwertig" sind
>>> L == M
True
#Vergleich, ob sie "identisch" sind
>>> L is M
True
>>> L = [1, 2, 3]
#Die Objekte, denen M und L entsprechen, sind unterschiedlich
>>> M = [1, 2, 3]
#Beide Werte sind gleich
>>> L == M
True
#Zwei Objekte sind äquivalent, aber nicht identisch
>>> L is M
False
>>> X = 42
#Die beiden 42er sollten nicht gleich sein
>>> Y = 42
>>> X == Y
True
#Die beiden werden gleich sein, weil sie zwischengespeichert werden!
>>> X is Y
True
Recommended Posts