Ein String, d.h. eine Zeichenkette, denkt man sich in Python als eine Sequenz (Abfolge) von einzelnen Zeichen.
Ich kann Ihnen fast garantieren, dass Sie in nahezu jedem von Ihnen geschriebenen Python-Programm auch Strings benutzen werden. Bitte beachten Sie daher die folgenden Hinweise zum Gebrauch von Strings in Python:
'
)
Sie können Strings durch Benutzung einzelner Anführungszeichen angeben, so wie
'Berufen Sie sich nur auf mich'
. Sämtlicher Leerraum, d. h.
Leerzeichen und Tabulatoren, wird genauso beibehalten.
"
)
Strings in doppelten Anführungszeichen verhalten sich genauso wie Strings
in einfachen Anführungszeichen.
Ein Beispiel hierfür: "Wie heißen's doch gleich?"
.
'''
oder """
)Sie können mehrzeilige Strings angeben, indem Sie dreifache Anführungszeichen verwenden. Innerhalb der dreifachen Anführungszeichen können Sie einfache und doppelte Anführungszeichen nach Belieben benutzen. Ein Beispiel:
'''Dies ist ein mehrzeiliger String. Dies ist die erste Zeile.
Dies ist die zweite Zeile.
"Wie heißen's doch gleich?", fragte ich ihn.
Er sagte: "Mein Name ist Bond, James Bond."
'''
Angenommen, Sie wollen einen String eingeben, der ein einzelnes Anführungszeichen
('
) enthält. Wie würden Sie diesen angeben? Nehmen Sie zum Beispiel
den String Wie heißen's doch gleich?
. Sie können Ihn nicht als
'Wie heißen's doch gleich?'
eingeben, weil Python dann durcheinander
käme und nicht mehr wüsste, wo der String anfängt und wo er aufhört. Daher müssen Sie
irgendwie angeben, dass dieses einzelne Anführungszeichen nicht das Ende des
Strings bedeutet. Dies kann mit Hilfe eines so genannten Maskierungscodes
geschehen. Sie geben ein einzelnes Anführungszeichen dabei als \'
an
- beachten Sie dabei den umgekehrten Schrägstrich ("backslash").
Nun können Sie den String als 'Wie heißen\'s doch gleich?'
eingeben.
Eine andere Möglichkeit, diesen speziellen String anzugeben, wäre
"Wie heißen's doch gleich?"
, d. h. unter Benutzung doppelter Anführungszeichen.
Gleichermaßen müssen Sie einen Maskierungscode benutzen, um ein doppeltes Anführungszeichen
als solches innerhalb eines Strings zu benutzen, der von doppelten Anführungszeichen umschlossen ist.
Außerdem müssen Sie den umgekehrten Schrägstrich selber innerhalb eines Strings mittels des
Maskierungscodes \\
eingeben.
Was machen Sie, wenn Sie einen zweizeiligen String eingeben wollen? Eine Möglichkeit
besteht darin, wie oben dreifache Anführungszeichen zu benutzen. Eine andere Möglichkeit
ist, hierfür den Maskierungscode für einen Zeilenvorschub zu benutzen - \n
,
um anzugeben, dass an dieser Stelle eine neue Zeile anfängt. Ein Beispiel hierfür ist
Dies ist die erste Zeile\nDies ist die zweite Zeile
. Ein weiterer nützlicher
Maskierungscode, den man kennen sollte, ist der für den Tabulator - \t
.
Es gibt viele weitere Maskierungscodes, von denen ich hier nur die nützlichsten aufgeführt habe.
Eine Sache, die man sich merken sollte, ist, dass ein einzelner umgekehrter Schrägstrich am Ende der Zeile anzeigt, dass der String auf der nächsten Zeile weitergeht, jedoch ohne dass ein Zeilenvorschub hinzugefügt wird. Zum Beispiel ist
"Dieses war der erste Streich. \
Doch der zweite folgt sogleich."
gleichbedeutend mit "Dieses war der erste Streich. Doch der zweite folgt sogleich."
Wenn Sie einen String angeben müssen, bei dem keine Zeichen besonders ausmaskiert
werden sollen, dann müssen Sie ihn als eine rohe Zeichenkette
(raw string) eingeben, indem Sie dem String
ein r
oder ein R
voranstellen. Ein Beispiel ist
r"Zeilenvorschübe kennzeichnet man mit \n"
.
Unicode ist ein Standard, der es einem erlaubt, beliebige internationale Zeichen
in seinen Texten zu verwenden. Wenn Sie einen Text in Ihrer Heimatsprache wie Deutsch,
Hindi oder Arabisch schreiben wollen, benötigen Sie einen Text-Editor, der entweder
mit Ihren länderspezifischen Zeichensätzen umgehen kann, die z.B. die deutschen Umlaute
enthalten, oder mit Unicode, das alle diese länderspezifischen Zeichen enthält.
Analog ist es auch in Python möglich, Unicode-Text zu verarbeiten - das Einzige,
was Sie hierfür tun müssen ist, dem String ein u
oder ein
U
voranzustellen, um ihn zu einem Unicode-String zu machen.
Beispiel: u"Dies ist ein Unicode-String."
Denken Sie daran, Unicode-Strings zu benutzen, wenn Sie Text-Dateien bearbeiten, besonders, wenn Sie wissen, dass die Datei Text enthält, der in anderen Sprachen als Englisch geschrieben wurde.
Das bedeutet, dass man einen String, wenn man ihn einmal erzeugt hat, nicht mehr ändern kann. Das sieht zwar zuerst ziemlich problematisch aus, ist es aber in Wirklichkeit nicht. Wir werden in den verschiedenen Programmbeispielen, die wir später durchgehen werden, sehen, warum dies keine Beschränkung darstellt.
Wenn man zwei Strings direkt hintereinander schreibt, werden sie automatisch von Python verkettet.
Zum Beispiel wird 'Wie heißen\'s' 'doch gleich?'
automatisch in
"Wie heißen's doch gleich?"
umgewandelt.
In Python gibt es keinen eigenen Datentyp char
für einzelne Zeichen.
Es gibt hierfür keine echte Notwendigkeit und ich bin sicher, dass Sie ihn nicht vermissen werden.
Denken Sie daran, dass Strings in einfachen und doppelten Anführungszeichen gleich sind - sie unterscheiden sich in keinster Weise.
Verwenden Sie immer rohe Zeichenketten, wenn Sie mit regulären Ausdrücken hantieren,
weil sie sonst ständig Zeichen mit umgekehrten Schrägstrichen ausmaskieren müssen
und dabei schnell den Überblick verlieren. Zum Beispiel können Rückwärtsverweise
als '\\1'
oder als r'\1'
eingegeben werden.