Warum sind Datentypen entweder veränderbar 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 beim Schreiben von x=6 ein neues Ganzzahlobjekt mit dem Wert 6 erstellt und eine Referenz namens x auf dieses Objekt gerichtet.
Jetzt müssen wir uns 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 Methode Upper 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 :)
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3