Zum Hauptinhalt springen

Nützliche String-Methoden

Warum brauchen wir das?

Texte kommen oft „unschön“ rein:

  • luna statt Luna
  • LILY komplett groß
  • " hallo " mit Leerzeichen vorne und hinten
  • jA statt ja bei 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):

StilBeispielIdee
Funktionlen(name)Werkzeug bekommt den Text
Methodename.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
MethodeWirkungBeispiel
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 ":

  1. strip()"luna"
  2. title()"Luna"
  3. Speichern in name

Neue Wörter

Methodemethod

Funktion am Objekt, Aufruf mit Punkt: text.upper().

Kettenaufrufmethod chaining

Mehrere Methoden hintereinander: text.strip().lower().

Was passiert im Computer?

  1. Python nimmt den String (das Objekt).
  2. Es führt die Methode aus.
  3. Es erzeugt meist einen neuen String.
  4. Ohne Zuweisung geht das Ergebnis verloren (außer du printest es sofort).
  5. 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
FehlerFix
Ergebnis nicht speichernname = name.upper()
upper ohne Klammernupper() aufrufen
strip in der Mitte erwartenstrip entfernt Rand-Leerzeichen
Methode mit len.upper() verwechselnlen(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 / title sind 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

Mini-QuizWas macht strip()?
  1. Was ist eine Methode?
  2. Ändert upper die Variable von allein?
  3. Wofür ist title praktisch?
Loesungen
  1. Eine Fähigkeit am Objekt (Aufruf mit Punkt).
  2. Nein – nur wenn du das Ergebnis nutzt/zuweist.
  3. Für saubere Namen und Titel-Schreibweise.

Methoden sitzen! Mini-Projekt: Namensdetektiv.