Veränderlich oder Unveränderlich?
In Python werden Datentypen in zwei Kategorien unterteilt: mutable (veränderbar) und immutable (unveränderbar).
- Mutable Typen können nach ihrer Erstellung verändert werden;
- Immutable Typen können nach ihrer Erstellung nicht verändert werden — jede "Änderung" erzeugt ein komplett neues Objekt im Speicher.
Unveränderbare Typen
Typen wie int, float, str und tuple sind unveränderbar. Das bedeutet, wenn eine Variable mit einem dieser Typen "geändert" wird, erstellt Python im Hintergrund tatsächlich ein neues Objekt.
123456789# Assign an integer value to var1 var1 = 40 print("var1 =", var1) # Output: var1 = 40 print("ID of var1:", id(var1)) # Shows the memory ID of the value 40 # Reassign a new integer value to var1 var1 = 50 print("var1 =", var1) # Output: var1 = 50 print("New ID of var1:", id(var1)) # Shows a different ID — it's a new object in memory
Auch wenn wir denselben Variablennamen (var1
) wiederverwenden, zeigt die Funktion id()
, dass die Variable nach der Zuweisung auf ein vollständig neues Objekt verweist. Das liegt daran, dass Ganzzahlen unveränderlich sind – sie können nicht direkt verändert werden.
Veränderbare Typen
Im Gegensatz dazu sind Typen wie list
und dict
veränderbar. Sie können geändert werden, ohne dass neue Objekte erstellt werden.
Swipe to start coding
Stellen Sie sich vor, Sie verwalten das Budget für ein kleines Projekt. Anfangs beträgt Ihr verfügbares Budget $100. Später erhalten Sie eine zusätzliche Finanzierung von $50.
Ihre Aufgabe ist es:
- Den Anfangswert von
project_budget
und dessen Speicher-ID mit der Funktionid()
auszugeben. - Den Wert von
project_budget
aktualisieren, um den Gesamtbetrag widerzuspiegeln. - Den aktualisierten Wert und dessen neue ID ausgeben.
Dies hilft Ihnen zu verstehen, wie sich unveränderliche Typen wie int
beim erneuten Zuweisen verhalten.
Nachdem Sie diese Aufgabe abgeschlossen haben, klicken Sie auf die Schaltfläche unterhalb des Codes, um Ihre Lösung zu überprüfen.
Lösung
Danke für Ihr Feedback!
single
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Can you give an example of how mutable types behave differently?
What are some common use cases for choosing mutable vs immutable types?
Can you explain why immutability might be useful in programming?
Awesome!
Completion rate improved to 3.03
Veränderlich oder Unveränderlich?
Swipe um das Menü anzuzeigen
In Python werden Datentypen in zwei Kategorien unterteilt: mutable (veränderbar) und immutable (unveränderbar).
- Mutable Typen können nach ihrer Erstellung verändert werden;
- Immutable Typen können nach ihrer Erstellung nicht verändert werden — jede "Änderung" erzeugt ein komplett neues Objekt im Speicher.
Unveränderbare Typen
Typen wie int, float, str und tuple sind unveränderbar. Das bedeutet, wenn eine Variable mit einem dieser Typen "geändert" wird, erstellt Python im Hintergrund tatsächlich ein neues Objekt.
123456789# Assign an integer value to var1 var1 = 40 print("var1 =", var1) # Output: var1 = 40 print("ID of var1:", id(var1)) # Shows the memory ID of the value 40 # Reassign a new integer value to var1 var1 = 50 print("var1 =", var1) # Output: var1 = 50 print("New ID of var1:", id(var1)) # Shows a different ID — it's a new object in memory
Auch wenn wir denselben Variablennamen (var1
) wiederverwenden, zeigt die Funktion id()
, dass die Variable nach der Zuweisung auf ein vollständig neues Objekt verweist. Das liegt daran, dass Ganzzahlen unveränderlich sind – sie können nicht direkt verändert werden.
Veränderbare Typen
Im Gegensatz dazu sind Typen wie list
und dict
veränderbar. Sie können geändert werden, ohne dass neue Objekte erstellt werden.
Swipe to start coding
Stellen Sie sich vor, Sie verwalten das Budget für ein kleines Projekt. Anfangs beträgt Ihr verfügbares Budget $100. Später erhalten Sie eine zusätzliche Finanzierung von $50.
Ihre Aufgabe ist es:
- Den Anfangswert von
project_budget
und dessen Speicher-ID mit der Funktionid()
auszugeben. - Den Wert von
project_budget
aktualisieren, um den Gesamtbetrag widerzuspiegeln. - Den aktualisierten Wert und dessen neue ID ausgeben.
Dies hilft Ihnen zu verstehen, wie sich unveränderliche Typen wie int
beim erneuten Zuweisen verhalten.
Nachdem Sie diese Aufgabe abgeschlossen haben, klicken Sie auf die Schaltfläche unterhalb des Codes, um Ihre Lösung zu überprüfen.
Lösung
Danke für Ihr Feedback!
Awesome!
Completion rate improved to 3.03single