Was ist veränderlich und unveränderlich in Python?

Veröffentlicht: 2022-09-22

In Python enthält jede Variable eine Instanz eines beliebigen Objekts in zwei Arten, dh veränderlich und unveränderlich. Einem Objekt wird bei jeder Instanziierung eine eindeutige Objekt-ID zugewiesen. Die Laufzeit definiert den Objekttyp und kann später nicht mehr geändert werden.

Das Veränderliche ist jedoch ein veränderliches Objekt. Wenn wir veränderlich sagen, bedeutet dies, dass der interne Objektzustand mutiert werden kann. Gleichzeitig ist der Objektzustand, der sich nach der Erzeugung nicht ändern kann, ein unveränderliches Objekt. Sowohl veränderliche als auch unveränderliche Zustände sind integraler Bestandteil der Datenstruktur von Python.

Die Funktion der Objektveränderlichkeit in Python macht es zu einer dynamisch typisierten Sprache. Mutable und Immutable in Python sind als Konzept ziemlich wichtig, werden aber aufgrund ihrer intransitiven Natur der Unveränderlichkeit oft verwechselt.

Lassen Sie uns alles über sie und die wichtigsten Unterschiede herausfinden.

Sehen Sie sich unsere Data-Science-Online-Kurse an, um sich weiterzubilden

Inhaltsverzeichnis

Top Data Science-Fähigkeiten zum Erlernen der Weiterbildung

SL. Nein Die besten datenwissenschaftlichen Fähigkeiten, die Sie 2022 lernen können
1 Online-Kurse zur Datenanalyse Online-Kurse zur Inferenzstatistik
2 Online-Kurse zum Testen von Hypothesen Online-Kurse zur logistischen Regression
3 Lineare Regressionskurse Lineare Algebra für Analysis Online-Kurse

Veränderlicher Zustand in Python

Das Wort „Mutable“ bedeutet direkt „veränderbar“ oder etwas, das „mutiert“ werden kann. Es definiert ein Objekt, das für Änderungen offen ist, und in Python bezieht sich „veränderlich“ auf die Fähigkeit eines Objekts, Werte zu ändern. Diese Objekte speichern häufig Datensammlungen und enthalten integrierte Typlisten, Sätze, Wörterbücher und benutzerdefinierte Klassen.

Unveränderlicher Definitionszustand in Python

Unveränderlich in Python ist, wenn Sie den Objekttyp im Laufe der Zeit nicht ändern können. Wenn es nicht möglich ist, den Wert eines Objekts in Python zu ändern, wird es als unveränderliches Objekt bezeichnet. Sobald ein unveränderliches Objekt erstellt wurde, bleibt sein Wert dauerhaft und unveränderlich. Unveränderliche integrierte Typobjekte sind Zahlen, Zeichenfolgen, Tupel, eingefrorene Mengen und benutzerdefinierte Klassen.

Objekte in Python

Bevor wir uns eingehend mit der Veränderlichkeit und Unveränderlichkeit in Python befassen, wollen wir zunächst lernen, was Objekte sind. In Python wird alles als Objekt betrachtet und jedes Objekt hat drei Attribute:

  • Identität: Dies bezieht sich auf die Adresse des Objekts im Speicher des Computers.
  • Typ : Dies bezieht sich auf den erstellten Objekttyp. Zum Beispiel Integer, String, Liste und dergleichen.
  • Wert : Dies bezieht sich auf den Wert, den das Objekt speichert. Zum Beispiel würde List=[5,6,7] die Zahlen 5, 6 und 7 speichern.

Selbst wenn die ID und der Typ eines Objekts nach der Erstellung nicht geändert werden können, sind die Werte für veränderliche Objekte offen für Änderungen.

Veränderliche Objekte in Python

Veränderliche Objekte sind die Objekte in Python, die mutiert oder geändert werden können. Codes eignen sich besser zum Unterrichten über die Implementierung dieser Objekte. Schauen wir uns deshalb ein paar Codes an und versuchen, veränderliche Objekte besser zu verstehen:

  • Zum Erstellen einer Liste mit den Namen von Früchten

Früchte = ['Mango', 'Papaya', 'Orange']

  • Zum Drucken von Elementen aus der Obstliste, getrennt durch Komma & Leerzeichen

für Obst in Obst:

print(fruit, end=', ')

Ausgang [1]: Mango, Papaya, Orange

  • Zum Drucken des Objektspeicherplatzes, der in der Speicheradresse im Hexadezimalformat erstellt wird

Entdecken Sie unsere beliebten Data Science-Online-Kurse

Executive Post Graduate Program in Data Science vom IIITB Professional Certificate Program in Data Science für die Entscheidungsfindung in Unternehmen Master of Science in Data Science von der University of Arizona
Advanced Certificate Program in Data Science vom IIITB Professional Certificate Program in Data Science und Business Analytics von der University of Maryland Data Science Online-Kurse

print(hex(id(fruits)))

Ausgabe [2]: 0x1691d7de8c8

  • Hinzufügen einer neuen Frucht zur Liste 'Früchte'

Früchte.append('Trauben')

  • Zum Drucken der in der Liste 'Früchte' vorhandenen Elemente, getrennt durch Komma und Leerzeichen

für Obst in Obst:

print(fruit, end=', ')

Ausgang [3]: Mango, Papaya, Orange, Trauben

  • Zum Ausdrucken der im Speicher angelegten Objektadresse im Hexadezimalformat

print(hex(id(fruits)))

Ausgabe [4]: ​​0x1691d7de8c8

Das Beispiel zeigt, dass sich der interne Zustand „Früchte“ des Objekts leicht ändern kann, indem eine weitere Frucht, „Weintrauben“, hinzugefügt wird. Die Speicheradresse des Objekts bleibt jedoch dieselbe, was beweist, dass kein neues Objekt erstellt werden muss. Vielmehr könnte dasselbe Objekt geändert oder mutiert werden. Dieses Beispiel zeigt, dass das Objekt mit dem Referenzvariablennamen 'fruits', ein Listentyp, veränderlich ist.

Unveränderliche Objekte in Python

Unveränderliche Objekte in Python sind die Objekte, deren Werte nicht geändert werden können. Folgen wir einem einfachen Code, um besser zu verstehen, was unveränderliche Objekte sind und wie sie funktionieren. Der Code ist unten angegeben: -

  • Zum Erstellen eines Tupels, das den englischen Monatsnamen enthält

Monate = 'Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August'

  • Zum Drucken der Elemente von Tuple-Monaten

drucken (Monate)

Ausgabe [1]: ('Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August')

  • Zum Drucken des Objektorts, der in der Speicheradresse im Hexadezimalformat erstellt wird

print(hex(id(Monate)))

Ausgabe [2]: 0x1691cc35090

  • Es ist wichtig zu beachten, dass Tupel unveränderlich sind; daher enthalten sie keine weiteren neuen Elemente. Daher müssen Sie die Zusammenführung von Tupeln mit dem Operator # + verwenden, um einen neuen imaginären Monat im Tupel „Monate“ hinzuzufügen.

Monate += 'Pythonuar'

  • Zum Drucken der Elemente des Tupels 'Monate'.

drucken (Monate)

Ausgabe [3]: ('Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'Pythonuary')

  • Zum Ausdrucken der im Speicher angelegten Objektadresse im Hexadezimalformat

print(hex(id(Monate)))

Ausgabe [4]: ​​0x1691cc8ad68

Lesen Sie unsere beliebten Data Science-Artikel

Data Science Career Path: Ein umfassender Karriereleitfaden Data Science Karrierewachstum: Die Zukunft der Arbeit ist da Warum ist Data Science wichtig? 8 Wege, wie Data Science dem Unternehmen einen Mehrwert bringt
Relevanz von Data Science für Manager Der ultimative Data Science Spickzettel, den jeder Data Scientist haben sollte Die 6 wichtigsten Gründe, warum Sie Data Scientist werden sollten
Ein Tag im Leben von Data Scientists: Was machen sie? Mythos gesprengt: Data Science braucht keine Codierung Business Intelligence vs. Data Science: Was sind die Unterschiede?

Dieses Beispiel beweist, dass Variablennamen einfach zur Referenzierung eines Objekts verwendet werden können, einer Art Tupel, das aus acht Elementen besteht. Die Speicherort-ID des alten und neuen Tupels ist jedoch nicht dieselbe. Daher konnte der interne Status „Monate“ des Objekts nicht geändert werden. Daher hat der Python-Programmmanager ein neues Objekt in der Speicheradresse erstellt. Außerdem verwies der Variablenname „Monate“ auf das neue Objekt mit neun Elementen. Somit ist bewiesen, dass das Tupel, das Objekt mit dem Referenzvariablennamen „Monate“, ein unveränderliches Objekt ist.

Fazit

Veränderliche Objekte werden hauptsächlich verwendet, um zukünftige Aktualisierungen zuzulassen. Andererseits bietet die Unveränderlichkeit auch viele effektive und praktische Anwendungen für verschiedene sensible Aufgaben an einem netzwerkzentrierten Ort, wodurch eine parallele Verarbeitung ermöglicht wird. Unveränderliche Objekte, versiegeln die Werte und stellen sicher, dass keiner der Threads die Daten überschreibt/aktualisiert. Es eignet sich hervorragend zum Schreiben dauerhafter Codes, die in Zukunft nicht mehr geändert werden müssen.

Wenn Sie ein angehender Programmierer oder ein Data-Science-Enthusiast sind, wird Ihnen das Lernen über veränderliche und unveränderliche Objekte in Python helfen, dieses Feld als Ihre Karriere zu wählen. Am besten lernen Sie diese kennen, indem Sie sich für das Executive Post Graduate Program in Data Science auf upGrad anmelden.

Der Kurs wird unter fachkundiger Anleitung der Fakultät erstellt und vermittelt fundiertes Wissen zu Trendthemen, um Tausende von Lernenden auf eine zukunftssichere Karriere vorzubereiten.

Q1. Was sind die signifikanten Unterschiede zwischen veränderlich und unveränderlich in Python?

Antwort: Der Zustand oder Wert eines Objekts kann nach der Erstellung in änderbar geändert werden. Der Zustand oder Wert eines Objekts kann nach der Erstellung in änderbar nicht geändert werden. Veränderliche Objekte sind nicht Thread-sicher. Unveränderliche Objekte sind vollständig Thread-sicher. Veränderliche Klassen sind nicht endgültig. Bevor Sie ein unveränderliches Objekt erstellen, müssen Sie die Klasse final machen.

Q2. Was sind in Python veränderliche und unveränderliche Datentypen?

Antwort: Veränderliche Datentypen in Python sind list, set, dictionary und benutzerdefinierte Klassen und unveränderliche Datentypen sind int, decimal, float, bool, tuple, string und range.

Q3. Sind Listen in Python veränderbar?

Antwort: In Python sind Listen die veränderlichen Datentypen mit leicht modifizierbaren Elementen. Außerdem können Sie die einzelnen Elemente ersetzen und sogar die Reihenfolge der Elemente ändern, nachdem Sie die Liste erstellt haben.