NB02_Zeichenketten_Grundlagen¶
(c) 2025 Technische Hochschule Augsburg - Fakultät für Informatik - Prof.Dr.Nik Klever - Impressum
Grundlegendes zu Zeichenketten (Strings)¶
Beginn und Ende der Zeichenkette¶
In Python sind Zeichenketten entweder durch einfache Hochkommas ' oder durch doppelte Hochkommas " eingeschlossen, wichtig ist dabei, dass am Anfang und am Ende der Zeichenkette die gleiche Art Hochkommas steht. Wenn nun innerhalb der Zeichenkette das gleiche Hochkomma im Text auftaucht, muss es mit einem umgekehrten Schrägstrich (Backslash) \ maskiert (escaped) werden, damit es nicht als Ende der Zeichenkette interpretiert wird.
a = 'Ich glaub\' ich spinn - ein Hochkomma im String'
mehrzeilige Zeichenketten¶
Wenn die Zeichenkette über mehrere Zeilen geht, dann können entweder Zeilenende-Zeichen \n in die Zeichenkette eingebaut werden oder die Zeichenkette wird entweder in drei einfache ''' oder in drei doppelte """ Hochkommas eingeschlossen.
a = """Dies ist ein mehrzeiliger Text
mit vier Zeilen ohne Zeilenende-Zeichen
und einfachen "Hochkommas" innerhalb der Zeichenkette,
die dann nicht maskiert werden müssen"""
b = "Alternativ kann ein mehrzeiliger Text\nauch mit Zeilenende-Zeichen\nversehen werden, um\nein Zeilenende zu markieren"
Stringoperationen¶
Addition¶
%%Mooc StringAssessment
Addition von Text
Wenn jetzt die beiden folgenden Zuweisungen für die Variablen a und b durchgeführt werden
a = "Wort1"
b = "Wort2"
und dann
a + b
berechnet wird,
was wird als Ergebnis angezeigt?
%%Mooc StringAssessment
Automatische Umwandlung einer Variablen ?
Wenn jetzt die beiden folgenden Zuweisungen für die Variablen a und b durchgeführt werden
a = 2
b = "Wort1"
und dann
a + b
berechnet wird,
was wird als Ergebnis angezeigt?
%%Mooc StringAssessment
Umwandlung einer Zahl in einen String
Mit der Funktion str() wird eine Integer- oder Reelle Zahl in einen Type str umgewandelt. Dies bedeutet, dass damit die Addition der obigen Aufgabe möglich wird:
str(a) + b
Was wird als Ergebnis angezeigt?
Multiplikation¶
Auch die Multiplikation kann auf Zeichenketten angewendet werden und kann insbesondere bei der Formatierung von Texten sinnvoll eingesetzt werden.
%%Mooc StringAssessment
Multiplikation von Text
Wenn jetzt die beiden folgenden Zuweisungen für die Variablen a und b durchgeführt werden
a = 10
b = "+-"
und dann
a * b
berechnet wird,
was wird als Ergebnis angezeigt?
Stringindex¶
Index¶
Die einzelnen Zeichen einer Zeichenkette können über den Index angesprochen werden. Dabei muss berücksichtigt werden, dass der Index immer bei 0 beginnt.
hs = "Hochschule"
erstesZeichen = hs[0]
letztesZeichen = hs[9]
Länge einer Zeichenkette¶
Mit der Funktion len() lässt sich die Länge einer Zeichenkette bestimmen.
laenge = len(hs)
Damit kann das letzte Zeichen auch folgendermaßen bestimmt werden:
letztesZeichen = hs[len(hs)-1]
negativer Index¶
Dabei kann der Index auch negative Zahlen annehmen und wird dann von rückwärts gezählt:
letztesZeichen = hs[-1]
erstesZeichen = hs[-len(hs)]
Die positiven und negativen Indizes kann man sich als zwischen den Zeichen positioniert vorstellen:
+---+---+---+---+---+---+---+---+---+---+ | H | o | c | h | s | c | h | u | l | e | +---+---+---+---+---+---+---+---+---+---+ 0 1 2 3 4 5 6 7 8 9 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
Slice¶
Teile einer Zeichenkette können als Slice ebenfalls angesprochen werden, dabei wird der Startindex von dem Endindex durch einen Doppelpunkt getrennt, wobei der Startindex das entsprechende Zeichen inkludiert und der Endindex das entsprechende Zeichen exkludiert. Sowohl der Startindex als auch der Endindex können dabei weggelassen werden, wenn die Zeichenkette jeweils von Anfang bzw. bis zum Ende angesprochen werden soll.
schule = hs[4:]
print(schule)
schule
%%Mooc StringAssessment
Addition von Slices
Wie oben ist die Variablen hs folgendermaßen zugewiesen
hs = "Hochschule"
Geben sie an, wie sie aus dieser Variablen das Wort 'Hole' erstellen?
Zeichenketten sind unveränderbar (immutable)¶
Beachten sie, dass Zeichenketten unveränderbar sind und sie ein einzelnes (oder auch mehrere) Zeichen einer Zeichenkette durch eine Zuweisung (über den Index) nicht verändern können.
Operator zum Test auf Mitgliedschaft in einer Zeichenkette oder Sequenz (in-Operator)¶
In Python gibt es noch den zusätzlichen Operator in zum Testen ob ein entsprechendes Objekt in einer Zeichenkette bzw. allgemeiner in einer Sequenz enthalten ist, bzw. mit einem vorangestellten not ob es entsprechend nicht enthalten ist.
%%Mooc MultipleChoiceAssessment
in-Operator
Die Variablen a und b werden folgendermaßen vorbesetzt:
a = "Dies ist eine Zeichenkette mit mehreren Wörtern"
b = "und"
und werden in die folgende Operation eingesetzt:
b not in a
Ist das Ergebnis der obigen Operation wahr oder falsch ?
%%Mooc Video
Weitere Literatur¶
%%Mooc WebReference
Strings
https://docs.python.org/3/tutorial/introduction.html#strings
Hinweis: im ersten Kapitel des offiziellen Python Tutorials