Unveränderlichkeit von Strings
In Python sind Zeichenketten (Strings) unveränderlich: Nach ihrer Erstellung können die enthaltenen Zeichen nicht direkt geändert werden. Jede "Änderung" erzeugt tatsächlich eine neue Zeichenkette. Dies ist wichtig für die Korrektheit (keine versehentlichen Änderungen am Original) und für die Leistung (beim Aufbau größerer Zeichenketten).
Keine Änderungen am Original
Zeichen können per Index gelesen, aber nicht zugewiesen werden.
123456s = "hello" t = "H" + s[1:] # Creates a new string: "Hello" print(t) s[0] = "H" # TypeError: strings don't support item assignment
Die meisten String-Methoden geben einen neuen String zurück und lassen das Original unverändert.
123456name = " Alice " name.strip() # returns "Alice" but doesn't change 'name' print(name) # " Alice " name = name.strip() # assign the new value print(name) # "Alice"
Verkettung ist möglich, aber beachten Sie, dass bei jedem Schritt ein neues Objekt entsteht.
1234msg = " hello\n" clean = msg.strip().upper() print(msg) # original remains " hello\n" print(clean) # "HELLO"
"Modifizieren" durch Erzeugen einer neuen Zeichenkette
Verwendung von Slicing, replace oder Verkettung zur Erzeugung eines neuen Werts.
1234567s = "data" s = s.replace("t", "T") # "daTa" print(t) s = s[:1] + "A" + s[2:] # "dAta" print(t)
Effizienter Aufbau
Wiederholtes + in großen Schleifen kann langsam sein (viele Zwischenstrings). Ein gängiges Muster ist das Sammeln von Teilen und einmaliges Zusammenfügen:
12parts = ["ID:", " ", "123", "\n", "OK"] result = "".join(parts) # "ID: 123\nOK"
Weitere Muster zum Zusammenfügen und Formatieren werden im nächsten Kapitel behandelt.
1. Welche Zeile versucht, einen String an Ort und Stelle zu verändern und führt zu einem Fehler?
2. Was gibt der Code aus?
3. Sie müssen einen langen String aus vielen kleinen Teilen zusammensetzen. Was wird empfohlen?
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 5.26
Unveränderlichkeit von Strings
Swipe um das Menü anzuzeigen
In Python sind Zeichenketten (Strings) unveränderlich: Nach ihrer Erstellung können die enthaltenen Zeichen nicht direkt geändert werden. Jede "Änderung" erzeugt tatsächlich eine neue Zeichenkette. Dies ist wichtig für die Korrektheit (keine versehentlichen Änderungen am Original) und für die Leistung (beim Aufbau größerer Zeichenketten).
Keine Änderungen am Original
Zeichen können per Index gelesen, aber nicht zugewiesen werden.
123456s = "hello" t = "H" + s[1:] # Creates a new string: "Hello" print(t) s[0] = "H" # TypeError: strings don't support item assignment
Die meisten String-Methoden geben einen neuen String zurück und lassen das Original unverändert.
123456name = " Alice " name.strip() # returns "Alice" but doesn't change 'name' print(name) # " Alice " name = name.strip() # assign the new value print(name) # "Alice"
Verkettung ist möglich, aber beachten Sie, dass bei jedem Schritt ein neues Objekt entsteht.
1234msg = " hello\n" clean = msg.strip().upper() print(msg) # original remains " hello\n" print(clean) # "HELLO"
"Modifizieren" durch Erzeugen einer neuen Zeichenkette
Verwendung von Slicing, replace oder Verkettung zur Erzeugung eines neuen Werts.
1234567s = "data" s = s.replace("t", "T") # "daTa" print(t) s = s[:1] + "A" + s[2:] # "dAta" print(t)
Effizienter Aufbau
Wiederholtes + in großen Schleifen kann langsam sein (viele Zwischenstrings). Ein gängiges Muster ist das Sammeln von Teilen und einmaliges Zusammenfügen:
12parts = ["ID:", " ", "123", "\n", "OK"] result = "".join(parts) # "ID: 123\nOK"
Weitere Muster zum Zusammenfügen und Formatieren werden im nächsten Kapitel behandelt.
1. Welche Zeile versucht, einen String an Ort und Stelle zu verändern und führt zu einem Fehler?
2. Was gibt der Code aus?
3. Sie müssen einen langen String aus vielen kleinen Teilen zusammensetzen. Was wird empfohlen?
Danke für Ihr Feedback!