decocode decocode deco    

Strings in Python #

► Python-Dokumentation: Text Sequence Type string

Variablen können Zeichen oder Zeichenketten (Strings) speichern. Diese werden von Doublequotes " oder Singlequotes ' umschlossen. Diese Zeichen werden mit dem Backslash \ maskiert, wenn sie Teil des Strings sind.

Quelltext auswählen
1
2
3
4
5
a = "Hallo Welt!"
print(a)
print(type(a))

print("\"Hallo Welt!\"")

Strings verknüpfen #

► Python-Dokumentation: Common Sequence Operations

Durch den Operator + können Strings mit anderen Strings verknüpft werden. Durch den Operator * können Strings vervielfacht werden.

Quelltext auswählen
1
2
3
4
5
6
7
a = "We"
b = "lt! "
c = "Hallo "
d = a + b
c += d  # alternative Schreibweise für c = c + d
c *= 3  # alternative Schreibweise für c = c * 3
print(c)

String in Teilstring zerlegen #

► Python-Dokumentation: Common Sequence Operations

Die Anzahl der Zeichen eines Strings lässt sich ähnlich wie bei Listen, Tupeln und Dictionaries mit der Funktion len() ermitteln, wobei die einzelnen Zeichen als Elemente des Strings betrachtet werden können. Die Länge eines Zeichens, das mit einem Backslash \ maskiert wurde, beträgt dennoch 1. Strings können wie Listen und Tupel in ihre Bestandteile zerlegt werden.

Quelltext auswählen
1
2
3
4
5
6
7
8
a = "Hallo Welt!"
print(len(a))
print(len("\"Hallo Welt!\"\n"))  # "Hallo Welt!" plus Zeilenvorschub hat eine Länge von 14 Zeichen.
print(a[3])    # Gibt das Zeichen an Position 3 aus.
print(a[2:4])  # Es werden die Zeichen ab Position 2 bis ausschließlich Position 4 ausgegeben.
print(a[1:])   # Es werden die Zeichen ab Position 1 bis zum Ende des Strings ausgegeben.
print(a[:3])   # Es werden die Zeichen vom Anfang des Strings bis ausschließlich Position 3 ausgegeben.
print(a[-5:])  # Es werden die letzten 5 Zeichen ausgegeben.

Mit einer Schleife lassen sich alle Zeichen eines Strings einzeln ausgeben:

Quelltext auswählen
1
2
3
a = "Hallo Welt!"
for c in a:
    print(c)

► Python-Dokumentation: split rsplit

Außerdem lassen sich Strings mit split() nach vorgegebenen Zeichen trennen. Wird kein Trennzeichen vorgegeben, wird das Leerzeichen als Trennzeichen angenommen. Als zweites Argument kann die maximale Anzahl der isolierten Teilstrings angegeben werden. Es wird eine Liste mit den gefundenen Teilstrings zurückgegeben. Im letzten Element der Liste ist dann der restliche String enthalten. rsplit() verhält sich wie split() mit der Ausnahme, dass bei Angabe des zweiten Arguments vom Ende des Strings her getrennt wird. Der restliche String befindet sich dann im ersten Element der zurückgegebenen Liste.

Quelltext auswählen
1
2
3
4
5
6
7
a = "Hallo Welt!"
print(a.split())

b = "Europa,Asien,Afrika,Amerika,Australien"
print(b.split(","))      # alle Elemente nach , getrennt zurückgeben
print(b.split(",", 3))   # die ersten drei Elemente zurückgeben
print(b.rsplit(",", 3))  # die letzten drei Elemente zurückgeben

► Python-Dokumentation: partition rpartition

Weiterhin können Strings mit partition(x) in ein Tupel mit drei Elementen zerlegt werden, bei der das erste Element den String vor dem ersten Vorkommen von x enthält. Das zweite Element enthält x und das dritte den restlichen String.

rpartition(x) verhält sich genauso mit der Ausnahme, dass nach dem letzten Vorkommen von x getrennt wird.

Quelltext auswählen
1
2
3
b = "Europa,Asien,Afrika,Amerika,Australien"
print(b.partition(","))
print(b.rpartition(","))

Zeichen(-ketten) finden #

► Python-Dokumentation: find rfind

Mit den Funktionen find() bzw. rfind() lassen sich die Positionen gesuchter Zeichenketten bestimmen, wobei der Wert -1 zurückgegeben wird, falls das Element nicht gefunden wird.

find() sucht ab dem Anfang des Strings, rfind() ab dem Ende.

Quelltext auswählen
1
2
3
4
a = "Hallo Welt!"
print(a.find("Leute"))
print(a.find("Welt"))
print(a.rfind("e"))

Vorkommen von Zeichen(-ketten) ermitteln #

► Python-Dokumentation: count

Mit der Funktion count() lässt sich die Anzahl gesuchter Zeichenketten innerhalb von Strings ermitteln.

Mit if/in (s. Bedingungen) lässt sich ermitteln, ob eine Zeichenkette in einem String überhaupt enthalten ist.

Quelltext auswählen
1
2
3
4
5
6
7
8
a = "Hallo Welt!"
print(a.count("l"))
print(a.count("x"))

if "Welt" in a:
    print("\"Welt\" ist vorhanden.")
else:
    print("\"Welt\" ist nicht vorhanden.")

Zeichen ersetzen #

► Python-Dokumentation: replace

Um bekannte Zeichen innerhalb eines Strings zu ersetzen, wird die Funktion replace() verwendet.

Quelltext auswählen
1
2
3
a = "Hallo Welt!"
a = a.replace("Welt", "Leute")
print(a)

Zeichen entfernen #

► Python-Dokumentation: strip lstrip rstrip

Die Funktion strip() entfernt alle übergebenen Zeichen in beliebiger Reihenfolge vom Anfang und Ende eines Strings. Wird kein Zeichen übergeben, so werden Leerzeichen entfernt.

lstrip() entfernt die Zeichen nur vom Anfang des Strings. rstrip() entfernt die Zeichen nur vom Ende des Strings.

Quelltext auswählen
1
2
3
4
a = "xo-oxo-ox"
print(a.strip("ox"))
print(a.lstrip("ox"))
print(a.rstrip("ox"))

Strings in Zahlen umwandeln #

► Python-Dokumentation: float int

Um einen String, der einen Zahlenwert enthält, mit einer anderen Zahl zu verrechnen, muss der String zunächst mit der Funktion float() bzw. int() in eine Zahl umgewandelt werden.

float() wird für Gleitkommazahlen und int() für Ganzzahlen verwendet.

Quelltext auswählen
1
2
3
4
5
6
7
8
9
10
11
12
a = "42"
b = 2
c = int(a) * b
print(c)

a = "42.5"
b = 2
c = float(a) * b
print(c)

d = int(a) * b  # Strings mit einer Gleitkommazahl können nicht in Ganzzahlen umgewandelt werden.
d = a + b  # Strings können nicht mit Zahlen verknüpft werden.

Codepoint ermitteln #

► Python-Dokumentation: ord chr

Die Funktion ord() ermittelt den Unicode-Codepoint eines Zeichens. Der Rückgabewert der Funktion chr() ist das Zeichen des angegebenen Unicode-Codepoints.

Quelltext auswählen
1
2
3
a = "Schöne Grüße!"
print(ord(a[3]))  # das Zeichen an Position 3
print(chr(246))  # die Umkehrfunktion von ord()

Zeichen mit niedrigstem bzw. höchstem Codepoint finden #

► Python-Dokumentation: min max

Mit Hilfe der Funktionen min() bzw. max() ist es möglich, innerhalb eines Strings das Zeichen mit dem niedrigsten bzw. höchsten Codepoint zu ermitteln.

Quelltext auswählen
1
2
3
a = "Schöne Grüße!"
print("'" + min(a) + "'")
print("'" + max(a) + "'")

Strings formatiert ausgeben #

► Python-Dokumentation: format

Um Strings in einer formatierten Weise auszugeben, wird die Funktion format() verwendet. Dies ist insbesondere nützlich, um Strings in einer Datei zu speichern, auf die lesend oder schreibend zugegriffen werden soll. Durch eine entsprechende Formatierung kann so die genaue Position eines Strings innerhalb der Datei festgelegt werden. Außerdem lassen sich komplexere Ausgaben über das Terminal auf diese Weise z. B. in einer Tabelle übersichtlich gestalten.

Siehe auch: Formatierte Ausgabe von Strings

Weitere Funktionen #

► Python-Dokumentation: String Methods

Quelltext auswählen
1
2
3
4
5
6
7
8
a = "Hallo Welt!"
if a.startswith("Hallo") == True:  # prüft, ob a mit der Zeichenkette "Hallo" beginnt
if a.endswith("Welt!") == True:    # prüft, ob a mit der Zeichenkette "Welt!" endet

b = "123"
if b.isalnum() == True:    # prüft, ob b nur aus Buchstaben und/oder Zahlen besteht
if b.isalpha() == True:    # prüft, ob b nur aus Buchstaben besteht
if b.isnumeric() == True:  # prüft, ob b aus Zahlen besteht