Python

Veränderlich vs. Unveränderliche Objekte in Python

Veränderlich vs. Unveränderliche Objekte in Python

Python gilt als die erstaunlichste Sprache, da viele Menschen es aufgrund seiner Eleganz und Einfachheit als erste Programmiersprache wählen. Dank der breiten Community, dem Überangebot an Paketen und der konsistenten Syntax verwenden erfahrene Profis auch Python. Obwohl es eine Sache gibt, die sowohl Anfänger als auch einige professionelle Entwickler zu ärgern scheint - Objekte von Python.

änderbar vs. Unveränderlich

Veränderlich Entitäten können ändern ihr Zustand oder Substanz um die Disparität zu beschreiben, und unveränderlich Entitäten können ihren Zustand oder ihre Substanz nicht ändern. Wenn also ein Objekt erstellt wird, ein besonderes Objekt Identifikation ist vergeben. Zur Laufzeit wird die Art des Objekts angegeben und kann später nicht aktualisiert werden. Integrierte Formulare wie int, float, bool, str, tuple und Unicode-Variablen sind unveränderlich. Objekte wie Liste, Menge, Byte-Arrays und Wörterbuch integrierter Kategorien sind veränderbar.

ID- und Typfunktion verstehen

Das integrierte Ich würde() Methode enthält die ID eines Objekts nur als Ganzzahl. Diese ganze Zahl bezieht sich normalerweise auf die Speicherposition des Objekts. Das 'ist' Operator verbindet die Identitäten zweier Objekte miteinander. Die integrierte Funktion, Art(), gibt die Art eines Objekts zurück. Vergleichen Sie zwei Variablen 'x' und 'ja', mit dem gleichen Wert, unter Verwendung des Gleichheitsoperators 'x == y', es wird ausgegeben Wahr. Verwendung der id()-Funktion, wir haben die verglichen Speicheradressen von beiden Variablen wird ausgegeben Falsch weil beide Variablen unterschiedlich sind und sich an unterschiedlichen Speicherorten befinden, obwohl die darin enthaltenen Werte gleich sind.

Machen Sie eine andere Variable 'z' was auf die identische Entität verweist, die 'x' verweist auf den Zuweisungsoperator '='. Verwendung der 'ist'-Operator haben wir festgestellt, dass beide auf das gleiche Objekt zeigen und die gleichen Speicheradressen haben.

Typen von unveränderlichen Variablen

Schauen wir uns einige unveränderliche Variablentypen an.

Ganzzahliger Datentyp

Lassen Sie uns eine Variable definieren 'x'einen Wert haben'10'. Ein eingebauter id()-Methode wird verwendet, um den Standort von 'x' in Erinnerung und Art() wird verwendet, um seinen Typ zu identifizieren. Wenn wir versuchen, den Wert von ' zu ändernx', es wurde erfolgreich geändert, obwohl die Speicheradresse anders zurückgegeben wird. Dies liegt daran, dass wir den Wert von ' nicht geändert habenx', aber wir haben ein anderes Objekt mit demselben Namen erstellt 'x' und weisen Sie ihm einen anderen Wert zu. Wir haben den Namen verbunden 'x' auf den neuen Wert. Jetzt, wann immer du anrufst 'x' es wird der neue Wert ausgegeben.

String-Datentyp

Dasselbe gilt für den String-Datentyp, wir können den vorhandenen nicht ändern Variable aber wir müssen erstellen ein neues mit dem gleichen namen. Hier haben wir definiert eine String-Variable 'x' und möchte hinzufügen 'w' zu seinen Nullindizes. Es wird ausgegeben Typfehler, zeigt, dass das String-Objekt Update nicht unterstützt.

Tupel-Datentyp

Werfen Sie einen Blick auf einen Tupeltyp Variable, wir haben a . definiert Tupel mit 4 Werten. Wir haben die benutzt id()-Funktion seine Adresse ausgeben. Wenn wir seinen Wert bei . ändern möchten 0 Indizes, es gibt die Typfehler dieses Tupel unterstützt keine Elementzuweisung oder Aktualisierung.

Im Gegenteil, Sie können aktualisieren das gesamte Tupel, indem Sie es definieren aus kratzen. Jetzt, wenn Sie es überprüfen, finden Sie einen neuen Wert und eine neue Adresse.

Float-Datentyp

Wir haben eine Variable vom Typ Float 'x'. Verwendung der id()-Funktion, Wir müssen seine Adresse herausfinden. Wenn wir seinen Wert bei . ändern möchten Index 1, es gibt die Typfehler dieser Float unterstützt keine Item-Modifikation.

Umgekehrt haben wir die schweben indem du es neu definierst. Jetzt finden wir bei jedem Aufruf einen neuen Wert und eine neue Adresse.

Veränderliche Variablentypen

Jetzt werden wir uns einige veränderliche Variablentypen ansehen.

Datentyp auflisten

Wir haben a . definiert aufführen genannt 'x' und füge einige Werte hinzu. Während Lauf, es werden Listenwerte angezeigt. Wenn du aktualisieren die Liste durch Zuweisen neuer Werte zu Index 0 und 2, das wird es erfolgreich tun.

Das oben beschriebene Beispiel ist ein einfaches und grundlegendes Beispiel für eine Modifikation. Um die Veränderlichkeit auf eine andere Ebene zu überprüfen, sehen wir uns das gleiche Beispiel mit kleinen Änderungen an. Wir haben einen neuen Namen erstellt 'ja' und an dasselbe Listenobjekt gebunden. Als wir überprüft haben, ob die 'x' ist das gleiche wie 'ja', es gibt True zurück. Andererseits sind beidex' und 'ja' habe den gleich Erinnerung Adressen.

Hängen Sie nun einen neuen Wert an a . an Listenname 'x' und überprüfen Sie die aktualisierte Ausgabe.

Jetzt, wenn Sie nach der Liste suchen 'y' nennen, Es wird die gleiche Liste angezeigt, die für 'x' angezeigt wird. Das heißt, wenn wir dieselbe Objektliste aktualisieren, die zwei verschiedene Namen 'x' und 'y' hat. Beide sind gleich und teilen sich auch nach der Modifikation die gleichen Speicheradressen.

Wörterbuch-Datentyp

Da Wörterbücher in Python häufig verwendete Variablen sind, werfen wir einen Blick auf die Veränderlichkeit von Wörterbüchern. Wir haben ein Wörterbuch mit dem Namen 'diktieren' mit drei Schlüsseln und ihren Werten. Wenn wir es ausdrucken, wird es den gesamten Inhalt anzeigen. Sie können jeden Wörterbuchwert separat ausdrucken und ihre Schlüssel statt Indizes.

Wir wollen Veränderung den jeweiligen Wert durch Aktualisieren der Schlüssel 'Name'. Es wird das aktualisierte Wörterbuch ausgeben. Wörterbuchschlüssel sind unveränderlich.

Definieren wir a aufführen und Tupel separat. Stelle sicher das Tupel muss eine haben Listentypwert darin und eine Liste haben a Tupeltypwert darin folglich.

EIN Tupel hat ein aufführen auf Ihrer 0 Indizes also wenn du dich umziehst 0 Indizes eines Tupels muss man das erwähnen Index einer Liste, in der Sie ändern möchten. Die Änderung erfolgt, weil die Liste unveränderlich ist.

Im Gegenteil, die Listenvariable kann nicht aktualisiert werden, da sie a Tupel auf 0 Index, was veränderlich ist.

Fazit

Wir haben Variationen in Python zwischen veränderlich und unveränderlich gesehen. Sie müssen sich klar machen, dass alles in Python als Objekt bezeichnet wird. In erster Linie die Unterscheidung zwischen veränderlichen Objekten vs. unveränderlich.

So ändern Sie Mauszeiger- und Cursorgröße, Farbe und Schema unter Windows 10
Der Mauszeiger und der Cursor in Windows 10 sind sehr wichtige Aspekte des Betriebssystems. Dies kann auch für andere Betriebssysteme gesagt werden, a...
Kostenlose und Open-Source-Spiele-Engines für die Entwicklung von Linux-Spielen
Dieser Artikel behandelt eine Liste von kostenlosen und Open-Source-Spiele-Engines, die für die Entwicklung von 2D- und 3D-Spielen unter Linux verwend...
Shadow of the Tomb Raider für Linux Tutorial
Shadow of the Tomb Raider ist die zwölfte Erweiterung der Tomb Raider-Reihe – ein Action-Adventure-Franchise von Eidos Montrealdos. Das Spiel wurde vo...