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'