Logo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

Exkurs - Zeichenketten in Python

Datentyp Zeichenkette

Zeichenketten spielen bei der Darstellung von Information eine wichtige Rolle. Mit Hilfe von Zeichenketten lassen sich beliebige Folgen von Zeichen als Daten erfassen.

Eine Zeichenkette ist eine (evtl. leere) Folge von Zeichen (aus einer vorgegebenen Zeichenmenge), die zu einer Dateneinheit zusammengefasst ist. Der Datentyp Zeichenkette beschreibt die Menge der möglichen Zeichenketten zusammen mit den Operationen, die mit Zeichenketten vorgesehen sind.

Datentyp Typbezeichner Daten
Zeichenkette str Daten vom Typ str sind Folgen von Zeichen wie z. B. 'Hallo!' oder "Mir geht es gut. Dir auch?". Solche Zeichenketten werden in Python u.a. mit Hochkommata oder Anführungszeichen dargestellt. Mehr über Zeichenketten findest du in den weiteren Abschnitten.

Darstellung von Zeichenketten in Python

Zeichenketten werden in Python durch Datenobjekte vom Typ str dargestellt. Python bietet eine Reihe von Möglichkeiten an, Zeichenketten zu erzeugen. Für kürzere Zeichenketten benutzt man Hochkommata oder Anführungszeichen. Beide Varianten sind in Python gleichwertig.

>>> z1 = 'Hallo'
>>> z1
'Hallo'
>>> type(z1)
<class 'str'>
>>> z2 = "Hallo"
>>> z2
'Hallo'
>>> type(z2)
<class 'str'>

Beachte, dass man auch eine leere Zeichenkette bilden kann.

>>> z = ''
>>> z

Wenn man längere Texte darstellen will, so lässt sich dies in Python mit 3 aufeinanderfolgenden Anführungszeichen oder Hochkommata erledigen.

>>> text = """Dieser
... Text geht
... über mehrere
... Zeilen."""
>>> text
'Dieser\nText geht\nüber mehrere\nZeilen.'
>>> print(text)
Dieser
Text geht
über mehrere
Zeilen.

Das Python-Protokoll zeigt auch, wie ein Zeilenumbruch codiert wird.

Schließlich gibt es folgende Variante, bei der die Textteile aneinandergehängt werden.

>>> text = ("Dieser lange Text "
... "wird auf "
... "mehrere Zeilen aufgeteilt.")
>>> text
'Dieser lange Text wird auf mehrere Zeilen aufgeteilt.'
>>> print(text)
Dieser lange Text wird auf mehrere Zeilen aufgeteilt.

Operationen zur Verarbeitung von Zeichenketten

Es gibt eine ganze Reihe vordefinierter Operationen, die man in Python auf Zeichenketten vom Typ str anwenden kann. Wir schauen uns hier vorerst nur den +-Operator und den len-Operator an. Weitere Operationen zur Verarbeitung von Zeichenketten werden wir bei Bedarf in den folgenden Abschnitten einführen.

Mit dem +-Operator kann man Zeichenketten aneinanderhängen.

>>> 'Daten' + 'typ'
'Datentyp'
>>> vorname = 'James'
>>> nachname = 'Bond'
>>> name = vorname + ' ' + nachname
'James Bond'

Der len-Operator liefert die Länge einer Zeichenkette (d.h. die Anzahl der Zeichen der Zeichenkette).

>>> len('Schokoladenosterhase')
20
>>> len('')
0

Zugriff auf einzelne Zeichen

Zeichenketten vom Typ str sind in Python sequentielle Datenobjekte. Alle Operationen für sequentielle Datenobjekte in Python können also auf Zeichenketten angewandt werden. Der folgende Python-Dialog zeigt einige der Möglichkeiten auf.

>>> text = 'Hallo!'
>>> text[0]
'H'
>>> text[4]
'o'
>>> text[len(text)-1]
'!'
>>> text[0:5]
'Hallo'
>>> text[1:4]
'all'

Zeichenketten vom Typ str sind in Python unveränderbare Datenobjekte. Man kann einzelne Zeichen einer Zeichenkette nicht über einen schreibenden Zugriff auf die entsprechende Stelle abändern.

>>> text = 'hallo'
>>> text[1] = 'e'
Traceback (most recent call last):
  File ...
    text[1] = 'e'
TypeError: 'str' object does not support item assignment
>>> text = 'hello'
>>> text
'hello'
>>> text = text[0:1] + 'a' + text[2:5]
>>> text
'hallo'
X

Fehler melden

X

Suche