Nützliche String-Methoden
Warum brauchen wir das?
Texte kommen oft „unschön“ rein:
lunastattLunaLILYkomplett groß" hallo "mit Leerzeichen vorne und hintenjAstattjabei einer Antwort
Statt alles per Hand zu reparieren, haben Strings eingebaute Fähigkeiten.
Die rufst du mit einem Punkt auf: text.methode().
So werden Eingaben sauber – und Vergleiche später fair.
Definition: Methode
Definition – Methode:
Eine Methode ist eine Funktion, die zu einem Objekt gehört.
Bei Strings rufst du sie mit einem Punkt auf:name.upper().
Definition – Aufruf mit Punkt:
objekt.methode()bedeutet: „Nimm dieses Objekt und führe diese Fähigkeit aus.“
Unterschied zur „freien“ Funktion wie len(text):
| Stil | Beispiel | Idee |
|---|---|---|
| Funktion | len(name) | Werkzeug bekommt den Text |
| Methode | name.upper() | Fähigkeit des Textes |
Beide sind nützlich – nur die Schreibweise ist anders.
Wichtige Methoden im Überblick
text = " Hallo Club "
print(text.upper()) # gross
print(text.lower()) # klein
print(text.strip()) # Leerzeichen an Raendern weg
print(text.title()) # Woerter gross beginnen
| Methode | Wirkung | Beispiel |
|---|---|---|
upper() | alles GROSS | "hi" → "HI" |
lower() | alles klein | "HI" → "hi" |
strip() | Rand-Leerzeichen weg | " a " → "a" |
title() | Wörter wie Titel | "luna code" → "Luna Code" |
Luna: „strip ist wie Schmutz an den Rändern abwischen.“
Py: „lower macht alle fair vergleichbar.“
Buggy ruft upper() auf und speichert das Ergebnis nicht – der Name bleibt klein.
Wichtig: Original bleibt oft gleich
name = "Luna"
print(name.upper())
print(name) # immer noch Luna
Methoden ändern den gespeicherten String in der Regel nicht von allein. Sie liefern einen neuen String zurück.
Wenn du den neuen Text behalten willst:
name = name.strip().title()
Kette von Methoden
Du kannst Methoden hintereinanderschalten (von links nach rechts):
name = input("Name: ")
name = name.strip().title()
print(f"Sauber: {name}")
Ablauf bei " luna ":
strip()→"luna"title()→"Luna"- Speichern in
name
Neue Wörter
Funktion am Objekt, Aufruf mit Punkt: text.upper().
Mehrere Methoden hintereinander: text.strip().lower().
Was passiert im Computer?
- Python nimmt den String (das Objekt).
- Es führt die Methode aus.
- Es erzeugt meist einen neuen String.
- Ohne Zuweisung geht das Ergebnis verloren (außer du printest es sofort).
- Die alte Variable zeigt weiter auf den alten Text, bis du sie neu setzt.
Häufige Fehler
name = "luna"
name.upper()
print(name) # noch luna – Ergebnis nicht gespeichert
| Fehler | Fix |
|---|---|
| Ergebnis nicht speichern | name = name.upper() |
upper ohne Klammern | upper() aufrufen |
strip in der Mitte erwarten | strip entfernt Rand-Leerzeichen |
Methode mit len.upper() verwechseln | len(name) vs name.upper() |
Probiere es selbst
Experiment 1
print("code".upper())
print("CODE".lower())
Experiment 2 – strip
s = " hallo "
print(f"[{s}]")
print(f"[{s.strip()}]")
Experiment 3 – title
s = "lilly code"
print(s.title())
Experiment 4 – Kette
name = input("Name: ")
print(name.strip().title())
Fehlerdetektiv
name = "luna"
name.upper()
print(name)
Loesung anzeigen
Das Ergebnis von upper() wurde nicht gespeichert:
name = name.upper()
print(name)
oder sofort:
print(name.upper())
Übungen
Level 1 – Entdecken
Nimm "Hallo" und gib upper- sowie lower-Variante aus.
Loesung
print("Hallo".upper())
print("Hallo".lower())
Level 2 – Anwenden
Name einlesen, mit strip und title säubern, ausgeben.
Loesung
name = input("Name: ")
name = name.strip().title()
print(name)
Level 3 – Erweitern
Schrei- und Flüstermodus für denselben Satz.
Beispiel
satz = input("Satz: ")
print("Schrei:", satz.upper())
print("Fluester:", satz.lower())
Mini-Challenge
Club-Ausweis: Name einlesen → strip → title → f-String mit Länge.
Erkläre: Warum muss man das Ergebnis oft zuweisen?
Loesungsidee
name = input("Name: ").strip().title()
print(f"Ausweis: {name} ({len(name)} Zeichen)")
Zusammenfassung
- Methoden:
text.methode(). upper/lower/strip/titlesind Alltagshelden.- Ergebnis oft neu speichern.
- Super vor Vergleichen und bei Eingaben.
- Original bleibt ohne Zuweisung gleich.
- Ketten:
strip().lower()von links nach rechts.
Mini-Quiz
- Was ist eine Methode?
- Ändert
upperdie Variable von allein? - Wofür ist
titlepraktisch?
Loesungen
- Eine Fähigkeit am Objekt (Aufruf mit Punkt).
- Nein – nur wenn du das Ergebnis nutzt/zuweist.
- Für saubere Namen und Titel-Schreibweise.
Methoden sitzen! Mini-Projekt: Namensdetektiv.