i

Fachkonzept

Datentyp Zeichenkette

Wir benutzen Zeichenketten, um Folgen von Zeichen als Daten zu erfassen.

Eine Zeichenkette ist eine Folge von Zeichen, die zu einer Dateneinheit zusammengefasst ist. Im Gegensatz zu einer Zahl ist eine Zeichenkette ein sequentielles Datenobjekt, das aus mehreren einzelnen Zeichen besteht. Die Zeichen sind dabei der Reihe nach durchnummeriert. Die Nummer wird bei Zeichenketten Index genannt und beginnt immer bei 0.

Zeichenkette als sequentielles Objekt

Im Beispiel besteht die Zeichenkette Hallo! aus 6 Elementen. Die Elemente besitzen die Indices von 0 bis 5. Das Element der Zeichenkette mit dem Index 1 hat beispielsweise den Wert a.

Zugriff auf einzelne Zeichen

Der Zugriff erfolgt über den Index des sequenziellen Datenobjekts. Wenn die Variable text eine Zeichenkette verwaltet, dann beschreibt der Ausdruck text[i] das Zeichen mit dem Index i.

text = "Hallo Welt!"
print(text[0])
#--> H
print(text[1])
#--> a
print(text[10])
#--> !

Beachte, dass ein Zugriff auf ein nicht existierendes Element zu einer Fehlermeldung führt!

print(text[11])
#--> Fehlermeldung!

Eine Zeichenkette durchlaufen

Die kürzeste Möglichkeit eine Zeichenkette zu durchlaufen besteht in der Verwendung einer for-Schleife:

# text = ...
for zeichen in text:
    # verarbeite zeichen

Man kann aber eine Zeichenkette auch mit einer while-Schleife durchlaufen:

# text = ...
index = 0
while index < len(text):
  zeichen = text[index]
    # verarbeite zeichen
  index = index + 1
Dabei wird "von Hand" der Index hochgezählt und entsprechend immer das nächste Zeichen aus dem Text gelesen. Das Ende der while-Schleife ist durch die Länge des Texts gegeben. Sie wird mit der Funktion len(text) ermittelt.

Zeichenketten bilden einen sehr wichtigen Datentyp in der Programmierung und wurden hier nur sehr grob erläutert. Weitere Informationen dazu findest du z.B. hier

Suche

v
6.1.6.3.2
inf-schule.de/imperative-programmierung/spacebug/vertiefungen/zeichenketten/fachkonzept
inf-schule.de/6.1.6.3.2
inf-schule.de/@/page/NvkUAog4ehiMIc8T

Rückmeldung geben