Warum sind Datentypen entweder veränderlich oder unveränderlich?
Schauen wir uns Python als Beispiel an,
Datentypen in Python sind grundsätzlich Objekte oder Klassen, int ist eine Klasse, Floats, Listen usw.
Daher wird durch das Schreiben von x=6 ein neues ganzzahliges Objekt mit dem Wert 6 erstellt und eine Referenz namens x auf dieses Objekt gerichtet.
Jetzt müssen wir uns die Klassen ansehen. Klassen gruppieren grundsätzlich Daten und Funktionen. Dort werden Funktionen Methoden genannt und es gibt zwei Arten: Accessor-- und Mutator--Methoden.
Zugriffsmethoden greifen auf den aktuellen Status eines Objekts zu, ändern jedoch nicht das Objekt selbst, z. B.
x = "Hallo"
y = x.upper()
Hier wird die Upper-Methode für das Objekt aufgerufen, auf das x verweist. Der Upper-Accessor gibt dann ein neues Objekt zurück, ein str-Objekt, das eine Version der ursprünglichen Zeichenfolge in Großbuchstaben ist. (Zögern Sie nicht, es noch einmal zu lesen.) Im Grunde gibt es ein neues Objekt basierend auf dem Original zurück, nur dass es jetzt in Großbuchstaben geschrieben ist.
Mutatormethoden hingegen ändern die Werte in den vorhandenen Objekten und ein gutes Beispiel ist der Listentyp (Klasse).
newList = [1,2,3]
newList.reverse()
Diese Methode mutiert das vorhandene Objekt, eine Mutatormethode kann nicht rückgängig gemacht werden.
Datentypen, denen diese Mutatormethoden fehlen, gelten als unveränderlich und enthalten daher nur Zugriffsmethoden, die nicht veränderbar sind.
Ich hoffe, das hat geholfen, bleiben Sie neugierig :)
Das obige ist der detaillierte Inhalt vonWas meinen wir WIRKLICH mit unveränderlichen Datentypen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!