Python Strings

In diesem Tutorial lernst du alles rund um Python Strings. Falls noch Fragen offen bleiben sollten, kannst du diese gerne an unseren Support senden. Wenn du von Grund auf Python lernen willst, ist der Python Komplettkurs wahrscheinlich interessant für dich.

In diesem Tutorial lernst du:

  1. Was sind Python Strings?
  2. Strings in Python ausgeben (print string)
  3. String einer Variable zuweisen
  4. Strings ändern und löschen
  5. Python String Formatierung
  6. Python String Index – auf Elemente im String zugreifen
  7. String Slicing in Python
  8. Länge (length) von Strings in Python
  9. Python String Methoden

Was sind Python Strings?

Einfach ausgedrückt sind Strings in Python nichts anderes als eine Aneinanderreihung von Zeichen. Man verwendet für Strings daher häufig auch den Begriff Zeichenketten. Um in Python einen String zu kennzeichnen, verwendet man einfache (' ') oder doppelte (" ") Anführungszeichen, z. B.:

"Hey!"
#oder
'Hey!'

Um einen String auf dem Bildschirm auszugeben, verwendet man die print-Funktion. Gib dazu den Begriff print ein, gefolgt von Runden Klammern (()). In diese Klammern schreibst du deinen String:

print("Hey!")

Auf dem Bildschirm erscheint dann die Ausgabe: Hey!


String einer Variable zuweisen

Im oberen Beispiel haben wir mit “Hey!” einen relativ kurzen String verwendet. Bei längeren Strings kann es jedoch anstrengend und chaotisch werden, diesen jedes Mal erneut einzugeben.

Hier bietet Python die Möglichkeit, Variablen zu verwenden. Eine Variable ist ein Platzhalter, der einen bestimmten Wert annehmen kann – zum Beispiel den Wert eines Strings.

Beispiel:

x = "Hey, mein Name ist Alexa. Wie geht es dir heute?"

In diesem Beispiel haben wir eine Variable (mit dem Variablennamen x) und einen String (nämlich "Hey, mein Name ist Alexa. Wie geht es dir heute?").

Um den String der Variable zuzuweisen, wird das Gleichheitszeichen (=) verwendet.

Anstatt nun immer den ganzen String einzugeben, kannst du einfach das x verwenden. Wenn du den String also zum Beispiel auf dem Bildschirm ausgeben willst, kannst du das einfach mit folgendem Befehl machen:

print(x)

Die Ausgabe ist dann: Hey, mein Name ist Alexa. Wie geht es dir heute?


Strings ändern und löschen

Strings ändern

Der einfachste Weg einen String zu ändern, ist ihn der Variable einfach mit einem neuen Wert zuzuweisen. Der alte Wert wird dann überschrieben:

mein_string = "Ich bin der alte String"
mein_string = "Ich bin der neue String"

print(mein_string)

Ausgabe: Ich bin der neue String

Strings löschen

Grundsätzlich ist es in Python nicht möglich, im Nachhinein einzelne Zeichen aus einem String zu löschen.

Du kannst jedoch einzelne Zeichen mit der replace()-Methode ersetzen. Die Python String replace Methode wird im Abschnitt string()-Methoden genauer erklärt.


Python String Formatierung

In Python gibt es auch die Möglichkeit, Strings zu formatieren. Das bedeutet, dass du den String so veränderst, dass er in einer anderen Form (z. B. in Großbuchstaben) auf dem Bildschirm ausgegeben wird.

Für die Python String Formatierung haben wir einen eigenes Tutorial geschrieben: Python String Formate

Falls dich das Thema interessiert, bekommst du dort genauere Informationen und kannst dann wieder zu diesem Tutorial zurückkehren.


Python String Index – auf Elemente im String zugreifen

Manchmal kommt es vor, dass man auf einzelne Zeichen im String zugreifen will. Das geht in Python über den String Index – also die Position oder Stelle des Zeichens, auf das man zugreifen will.

Hierbei gilt zu beachten, dass die erste Stelle immer den Index 0 hat. Die zweite Stelle hat den Index 1, usw.

Um auf das Zeichen zuzugreifen, gibst du den Variablennamen gefolgt von eckigen Klammern ein, in denen sich der Index befindet. Im folgenden Beispiel soll nur das erste l von Hello World! mit der print-Funktion ausgegeben werden.

x = "Hello World!"
print(x[2])

Die Ausgabe lautet: l

Zum Vergleich:

Mit print(x[0]) wäre die Ausgabe: H

Mit print(x[4]) wäre die Ausgabe: o

Was mit positiven Zahlen geht, geht in Python auch mit negativen Zahlen. Dies wird dann negativer Index genannt.

Hierbei beginnst du am Ende der Zeichenkette mit dem Zählen und setzt ein Minus vor die Indexzahl. Theoretisch wäre die Zahl ganz am Ende dann -0. Da Null aber nicht negativ sein kann, kann damit nicht auf das letzte Zeichen des Strings zugegriffen werden. Daher verwendet man hierfür den Index -1. Das vorletzte Zeichen Hat dann den Index -2, usw.

Das folgende Schaubild soll das Konzept des Python String Index verdeutlichen:

Der String „Edley“ mit Index und negativem Index

String Slicing in Python

Wenn du auf eine Reihe von Zeichen zugreifen willst, kannst du das über das über die Python Slicing Notation machen. Mit dem Slicing extrahierst du, wie der Name schon verrät, nur ein bestimmtes Stück (Slice) des Strings. Das Vorgehen ist dabei fast das Gleiche wie beim Zugreifen auf ein einzelnes Zeichen über den Index.

Der Unterschied ist, dass man beim Slicing sowohl einen Startpunkt als auch einen Endpunkt braucht. Beide Punkt werden wieder in eckigen Klammern über die Indexnummern angegeben – getrennt von einem Doppelpunkt (:). Beispiel:

x = "Hello World!"
print(x[3:7])

Ausgabe: lo W

Slicing geht in Python natürlich auch mit dem negativen Index.


Länge (length) von Strings in Python

Um in Python die Länge (length) von Strings zu bestimmen, kannst du die Funktion len() verwenden, die bereits in Python eingebaut ist.
Für Methoden und Funktionen gibt es auf Edley bald ein eigenes Tutorial. Falls du nicht warten willst: Im Python-Kurs wird alles ausführlich von A – Z erklärt.

Um beispielsweise die Anzahl der Zeichen im String „Hello, World!“ zu zählen und mit print auszugeben, muss der Name der Variable (oder der String direkt) in die Klammern der Funktion len() geschrieben werden. Leerzeichen werden auch mitgezählt.

x = ("Hello World!")
print(len(x))

Die Ausgabe: 12

Die Funktion len() funktioniert in Python übrigens nicht nur mit Strings, sondern auch mit Tupeln, Listen, Dictionaries, usw.


Python String Methoden

In Python gibt es eine Reihe von String Methoden, die bereits integriert sind. Mit diesen kannst du häufig auftretende Aufgaben einfach lösen.
Die wichtigsten werden im Folgenden vorgestellt.

upper()

Mit der String-Methode upper() kannst du alle Buchstaben eines Strings in Großbuchstaben umwandeln. Dabei schreibt man zuerst den Namen der Variable, dann einen Punkt und dann die Methode. Beispiel:

x = "Hello World!"
print(x.upper())

Die Ausgabe: HELLO WORLD!

Das Gegenteil wird mit der String-Methode lower() erreicht. Hierbei werden alle Buchstaben eines Strings in Kleinbuchstaben umgewandelt.

capitalize()

Mit der String-Methode capitalize() wird nur der erste Buchstabe eines Strings in einen Großbuchstaben umgewandelt.

isdigit()

Die Methode isdigit() prüft, ob ein String in Python nur aus Zahlen besteht. Ist das der Fall, so wird True ausgegeben. Ansonsten wird False ausgegeben.

count()

Mit der String-Methode count() kann man zählen, wie oft ein bestimmtes Zeichen oder eine Zeichenfolge in einem String vorkommt. Hierbei muss zusätzlich das Zeichen, das gezählt werden soll, in die Klammern der Methode eingegeben werden. Beispiel:

x = "Hello World!"
print(x.count("l"))

Die Ausgabe: 3
Da der Buchstabe l in Hello World! drei Mal vorkommt.

replace()

Mit der Python String replace()-Methode kannst du einzelne Zeichen eines Strings durch andere ersetzen.

x = "Hello World!"
print (x.replace("Hello", "Hey"))

Ausgabe: Hey World!

split()

Der Python String Split bzw. split()-Methode teilt einen String in eine Liste, in der jedes Wort aus dem String ein Listeneintrag wird. Beispiel:

x = "Hello World!"
print (x.split())

Die Ausgabe: ['Hello', 'World!']

In der Praxis würde man die Liste in den meisten Fällen nicht einfach mit der print()-Funktion ausgeben, sondern die Liste im weiteren Python-Code verwenden.

strftime()

Darüber hinaus gibt es in Python die Möglichkeit, mit der strftime()-Methode das Datum und die Uhrzeit in einen String zu schreiben bzw. Datum und Uhrzeit aus einem String zu extrahieren.

Hierbei ist das Vorgehen etwas komplizierter, da zuerst ein Modul importiert werden muss. (Wir empfehlen, zunächst die Python Grundlagen zu verstehen, bevor man versucht, mit Python Datetimes in Strings zu arbeiten.)

Im ersten Schritt importierst du also das Modul: from datetime import datetime (Genau genommen importiert man die Klasse datetime aus dem Modul datetime.)

Anschließend setzt du eine neue Variable mit dem Zeitstempel. In diesem Fall verwenden wir als Zeitformat (time format) die Unixzeit. Dieses Format ist sinnvoll, wenn dein Programm in verschiedenen Ländern funktionieren soll, da die meisten Länder unterschiedliche Datums- und Zeitformate verwenden. Mit dem Unix-Format bist du auf der sicheren Seite. Hier kannst du Uhrzeiten in dieses Format umrechnen.

Im nächsten Schritt erstellst du eine neue Variable, die mit Hilfe der datetime()-Methode das Datum und die Uhrzeit aus dem Zeitstempel im Unix-Format extrahiert.

Schließlich gibst du das Datum und die Uhrzeit einfach über den print-Befehl aus. In diesem Beispiel wurde über den Unix-Zeitstempel ein Datum in der Zukunft festgelegt.

from datetime import datetime
zeitstempel = 1902925200
zeit = datetime.fromtimestamp(zeitstempel)
print(zeit)

Die Ausgabe: 2030-04-20 16:20:00