In Programmiersprachen ist eine Variable ein Bereich, in dem ein Wert gespeichert ist. Für Python müssen Sie keine Variablen deklarieren, bevor Sie sie verwenden. Der Bereich wird vorbereitet, wenn Sie der Variablen einen Wert zuweisen. In einer objektorientierten Sprache wie Python ist es am besten, sich eine Variable als "Referenz" vorzustellen, die auf den Wert der Variablen und nicht auf den Wert selbst verweist.
>>> name1 = "Ichiro Yamada"
◎ Abbildung n1
Alternativ kann der "Variablenname" als ein tagartiges Bild betrachtet werden, das im Wert festgelegt ist.
◎ Abbildung n2
Wenn Sie einer anderen Variablen eine Variable zuweisen, zeigt diese auf denselben Wert, wie unten gezeigt.
>>> name1 = "Ichiro Yamada"
>>> name2 = name1
◎ Abbildung n3
In Python sind alle Werte, einschließlich Zahlen und Zeichenfolgen, Objekte. Verwenden Sie die Funktion id (), um die ID (Identifikationswert) eines Objekts zu ermitteln. Wenn die Funktion id () mit dem Variablennamen als Argument ausgeführt wird, wird die ID des referenzierten Objekts angezeigt. Wenn Sie die IDs der Variablen name1 und name2 mit der Funktion id () im obigen Beispiel nachschlagen, können Sie sehen, dass sie sich auf Objekte mit derselben ID beziehen.
>>> name1 = "Ichiro Yamada"
>>> name2 = name1
>>> id(name1)
4339005200 ← Gleiche ID
>>> id(name2)
4339005200 ← Gleiche ID
Was ist, wenn Sie einer Variablen einen anderen Wert zuweisen? Im folgenden Beispiel wird zuerst 10 der Variablen num in ① zugewiesen, "1" wird zum Wert der Variablen num in ② addiert und es wird der Variablen num zugewiesen.
>>> num = 10 ←①
>>> num = num + 1 ←②
In diesem Fall wird in (2) ein neues Objekt mit dem Wert "11" erstellt und seine Referenz in der Variablen num gespeichert. Mit anderen Worten, in ① und ② zeigt die Variable num auf ein anderes Objekt. Dies kann mit der Funktion id () bestätigt werden.
>>> num = 10
>>> id(num)
4297538176
>>> num = num + 1
>>> id(num)
4297538208 ← ID geändert (Referenz geändert)
Python-Datentypen werden grob in "veränderbare" Typen, deren Werte später geändert werden können, und "unveränderliche" Typen, die nicht geändert werden können, unterteilt.
Veränderbare Liste, Wörterbuch, Satz, .... Unveränderliche Saiten, Zahlen, Taples, ...
In Python sind auch grundlegende Datentypen wie Zeichenfolgen und Zahlen unveränderlich, dh Typen, die später nicht mehr geändert werden können. Übrigens wurde im obigen Beispiel 1 zum Wert der Variablen num addiert und der Variablen num neu zugewiesen.
>>> num = 10 ←①
>>> num = num + 1 ←②
Auf den ersten Blick scheint dies den Wert der Variablen num zu ändern. Ist der numerische Typ also kein veränderlicher Typ? Sie könnten denken, aber es ist nicht. Wie Sie dem Ausführungsergebnis der Funktion id () entnehmen können, zeigt die Variable num auf unterschiedliche Werte in ① und ②.
In Python ist eine "Liste" ein veränderbarer Typ, dh ein Typ, dessen Wert später geändert werden kann. Das folgende Beispiel generiert eine Liste "age" mit drei Ganzzahlen als Elementen und ändert das dritte Element.
>>> ages = [1, 2, 3]
>>> ages[2] = 4
>>> ages
[1, 2, 4]
Bei Betrachtung der Funktion id () ist es selbstverständlich, dass sich die ID auch nach Änderung des Werts des Elements nicht geändert hat.
>>> ages = [1, 2, 3]
>>> id(ages)
4338960072
>>> ages[2] = 4
>>> id(ages)
4338960072 ← ID ist dieselbe
Tapuru hingegen ist ein unveränderlicher Typ. Der Versuch, den Wert eines Elements zu ändern, führt zu einem Fehler.
>>> nums = (1, 2, 3)
>>> nums[0] = 0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
Die Zeichenfolge ist ebenfalls ein unveränderlicher Typ. Wenn Sie daher versuchen, die internen Zeichen wie folgt zu ändern, wird eine Fehlermeldung angezeigt.
>>> str = "abc"
>>> str[1] = "d" #Das zweite Zeichen ist ""d"Ersatz
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
Schauen wir uns als Beispiel, das leicht missverstanden wird, das folgende Beispiel an.
>>> str = "abc"
>>> str = str + "bcd" #str und"bcd"Verkettet und neu zugeordnet zu str ← ①
>>> str
'abcbcd'
In diesem Beispiel sieht es so aus, als ob die Zeichenfolge geändert wurde, da die Variable str und die Zeichenfolge "" bcd "" in ① verkettet sind. Dies ist jedoch nicht der Fall. In ① wird eine neue Zeichenfolge "" abcbcd "" generiert und ihre Referenz in der Variablen str gespeichert. Wenn Sie mit der Funktion id () überprüfen, können Sie sehen, dass die ID nach ① geändert wurde.
>>> str = "abc"
>>> id(str)
4301952704
>>> str = str + "bcd"
>>> id(str)
4339056968 ← ID geändert
>>> str
'abcbcd'
Recommended Posts