Stewdent.eu
▾

Zeichenketten

Eine Zeichenkette (String) ist eine Folge von Zeichen wie Buchstaben, Ziffern und Symbolen. Zeichenketten sind einer der häufigsten Datentypen und bieten viele nützliche Methoden.

Zuletzt aktualisiert: 3. November 2025

★☆☆☆☆ Stufe 1computingprogrammingdatentypenzeichenkettenstringstext3 Min Lesezeit

Fehler melden

Text ist überall in der Programmierung — Benutzernamen, Nachrichten, Dateinamen, Ausgaben. In Python nennen wir Textwerte Zeichenketten (englisch: strings). Sie werden in Anführungszeichen eingeschlossen.

Zeichenketten erstellen

begruessung = "Hallo, Welt!"
name = 'Max Mustermann'
mehrzeilig = """Dies ist
ein mehrzeiliger
Text."""

Einfache (') und doppelte (") Anführungszeichen sind gleichwertig. Dreifache Anführungszeichen erlauben mehrzeilige Zeichenketten.

Grundlegende Operationen

vorname = "Anna"
nachname = "Schmidt"

# Verkettung (Konkatenation)
vollname = vorname + " " + nachname
print(vollname)   # Anna Schmidt

# Wiederholung
print("-" * 20)   # --------------------

# Länge
print(len(vollname))   # 11

Auf Zeichen zugreifen (Indizierung)

Jedes Zeichen in einer Zeichenkette hat eine Position — den Index. In Python beginnt die Zählung bei 0:

wort = "Python"
#        P  y  t  h  o  n
# Index: 0  1  2  3  4  5

print(wort[0])   # P
print(wort[2])   # t
print(wort[-1])  # n (letztes Zeichen)
print(wort[-2])  # o (vorletztes Zeichen)
Hinweis

Negative Indizes zählen vom Ende der Zeichenkette rückwärts. wort[-1] gibt immer das letzte Zeichen zurück, egal wie lang die Zeichenkette ist.

Teilzeichenketten (Slicing)

Du kannst einen Bereich von Zeichen herausschneiden:

text = "Informatik"
print(text[0:5])    # Infor   (Index 0 bis 4)
print(text[5:])     # matik   (ab Index 5 bis zum Ende)
print(text[:4])     # Info    (vom Anfang bis Index 3)
print(text[::2])    # Ifrai   (jedes zweite Zeichen)

Nützliche String-Methoden

satz = "  hallo welt  "

print(satz.upper())          # "  HALLO WELT  "
print(satz.lower())          # "  hallo welt  "
print(satz.strip())          # "hallo welt"  (Leerzeichen entfernen)
print(satz.strip().title())  # "Hallo Welt"  (Erster Buchstabe groß)

wort = "Programmieren"
print(wort.replace("m", "M"))  # "PrograMMieren"
print(wort.startswith("Pro"))  # True
print(wort.endswith("ren"))    # True
print(wort.count("r"))         # 2
Tipp

Methoden können verkettet werden: text.strip().lower().replace(" ", "_") entfernt zuerst Leerzeichen an den Rändern, macht alles klein und ersetzt dann Leerzeichen durch Unterstriche.

f-Strings (formatierte Zeichenketten)

f-Strings sind die modernste und empfohlene Art, Variablen in Text einzufügen:

name = "Lisa"
alter = 14
print(f"Mein Name ist {name} und ich bin {alter} Jahre alt.")
# Mein Name ist Lisa und ich bin 14 Jahre alt.

pi = 3.14159
print(f"Pi gerundet: {pi:.2f}")   # Pi gerundet: 3.14

Text in eine Liste aufteilen

satz = "Apfel,Banane,Kirsche"
obst_liste = satz.split(",")
print(obst_liste)   # ['Apfel', 'Banane', 'Kirsche']

# Und wieder zusammensetzen
neu = " - ".join(obst_liste)
print(neu)          # Apfel - Banane - Kirsche
Warnung

Zeichenketten in Python sind unveränderlich (immutable). Du kannst ein einzelnes Zeichen nicht direkt ersetzen: wort[0] = "X" wirft einen Fehler. Stattdessen musst du eine neue Zeichenkette erstellen: wort = "X" + wort[1:].

Übungsaufgaben

Was gibt wort[1:4] für wort = 'Python' aus?

Antwort anzeigen
'yth'. Slicing gibt die Zeichen von Index 1 (einschließlich) bis Index 4 (ausschließlich) zurück: y (1), t (2), h (3).

Schreibe einen Python-Ausdruck, der prüft, ob der String s ein Palindrom ist (vorwärts und rückwärts gelesen gleich). Beispiel: 'Rentner'.

Antwort anzeigen
s.lower() == s.lower()[::-1] — Der Slice [::-1] kehrt die Zeichenkette um. .lower() wird verwendet, damit Groß-/Kleinschreibung keine Rolle spielt. Für s = 'Rentner': 'rentner' == 'rentner' ist True.