Im heutigen Artikel werden wir die Python Strings genauer unter die Lupe nehmen. Was sind Strings eigentlich und wie kann man sie in Python sinnvoll einsetzen? Diese Fragen werden wir in den nächsten Zeilen im Detail beantworten.
Inhaltsverzeichnis
1. Was ist ein String in Python?
Ein String ist eine sogenannte Zeichenkette. Diese ist eine Aneinanderreihung beliebig vieler Zeichen. Dabei spielt es keine Rolle, ob in Python Strings mit Buchstaben in Groß- oder Kleinschreibung oder mit Satzzeichen wie etwa Komma oder Ausrufezeichen geschrieben werden. Selbst Sonderzeichen wie dem Prozent- oder dem Dollarzeichen können als Strings verwendet werden.
So viel zur Theorie – sehen wir uns das Ganze nun in der Praxis an.
Wenn wir uns noch einmal kurz das Hallo Welt Programm aus dem ersten Blogbeitrag ansehen, können wir direkt etwas feststellen: Hier hatten wir bereits unbewusst mit einem String gearbeitet!
Bei unserem Hallo Welt Programm handelt es sich um einen String, weil sich dieses aus einer Aneinanderreihung mehrerer Zeichen zusammensetzt. Im Falle unseres Beispiels sind das fünf Buchstaben, gefolgt von einem Leerzeichen und vier weiteren Buchstaben. Daran können wir ebenfalls erkennen, wie man in Python Strings erzeugt – nämlich durch das Setzen hochgestellter Anführungszeichen vor und nach dem String.
Somit kann Python feststellen, dass es sich bei den Zeichen, die zwischen zwei Anführungszeichen stehen, um einen String handelt.
Alternativ können in Python statt den doppelten Anführungszeichen auch einfache Anführungszeichen gesetzt werden, wie wir im folgenden Bild erkennen können:
Wie du siehst, wird durch beide Anweisungen jeweils „Hallo Welt“ ausgegeben. Für welche Schreibweise der Anführungszeichen du dich entscheidest, bleibt dir überlassen. Es gibt jedoch auch Fälle, in welchen sich beide Schreibweisen als sinnvoll erweisen.
Nehmen wir nun einmal an, es handelt sich um einen String, in dem wir ein Wort hervorheben möchten und so für dieses ebenfalls Anführungszeichen benötigen.
Beispiel: “Die Programmiersprache “Python“ ist cool.“
Wenn wir diesen Satz nun genau so in eine print-Anweisung schreiben und das Programm ausführen, werden wir allerdings direkt mit einer Fehlermeldung konfrontiert. Das lässt sich im folgenden Bild an der roten Schrift unten im Ausgabefenster erkennen.
Dadurch hilft uns Python, den Fehler zu finden und versucht uns mitzuteilen, um was für einen Fehler es sich dabei handelt.
In unserem Fall haben wir es mit einem sogenannten „Syntax Error“ zu tun, aufgrund einer Syntax, die „invalid“ also ungültig ist. Das mag jetzt erst einmal verwirrend klingen, ist aber in Wirklichkeit ganz einfach.
Unter einer Syntax kannst du dir den Satzbau vorstellen, nach dessen Regeln wir unsere Python Programme schreiben. Da unsere Schreibweise nicht diesen Regeln entspricht und Python den ganzen Satz so nicht eindeutig als String erkennen kann, erhalten wir eine Fehlermeldung.
Unsere Zeile Code wird von Python nämlich folgendermaßen gesehen:
- 1Durch das Schlüsselwort „print“ muss etwas ausgegeben werden.
- 2Da nach der Klammer Anführungszeichen folgen, handelt es sich dabei um einen String, der ausgegeben werden muss.
- 3Dieser String endet direkt vor dem Wort Python, da hier das zweite und somit letzte Anführungszeichen gesetzt wurde.
- 4Jetzt sieht das Programm aber plötzlich, dass nach dem zweiten Anführungszeichen noch ein Wort kommt. Und schon haben wir einen Fehler!
Python ist nämlich nicht in der Lage, selbstständig zu erkennen, dass der String in unserem Beispiel noch gar nicht zu Ende ist. In diesem Fall können wir uns die einfachen Anführungszeichen zunutze machen.
Wir beginnen den String also nicht mit einem doppelten Anführungszeichen, sondern mit einem einfachen. Mit dieser Vorgehensweise liest Python Strings so lange, bis sie durch ein weiteres einfaches hochgestelltes Anführungszeichen beendet werden. Wenn wir das Programm nun so ausführen, sehen wir, dass es funktioniert:
2. Mehrzeilige Python Strings
Jetzt, wo du beim Thema Python Strings sowohl die einfachen als auch die doppelten Anführungszeichen kennengelernt hast, erwartet dich noch eine dritte Variante. Und zwar sind das die dreifachen Anführungszeichen.
Diese sind dazu da, um mehrzeilige Strings zu realisieren, ohne Fehlermeldungen beim Zeilenumbruch zu erhalten, wie man es im folgenden Bild erkennen kann:
Möchte man also mehrzeilige Strings ausgeben lassen, schreibt man diese zwischen drei einfache oder drei doppelte hochgestellte Anführungszeichen:
3. Operationen mit Strings
Genau wie mit Zahlen lassen sich auch mit Strings Operationen ausführen. Nehmen wir als erstes Beispiel einmal den Plus-Operator. Mit diesem kann man zwei oder mehr Strings miteinander verketten. Beispiel:
Daran erkennen wir, dass die Funktionalität der Operatoren ganz unterschiedlich sein kann, je nachdem auf welchen Typ von Wert sie angewendet werden. Im vorherigen Artikel haben wir den Plus-Operator bereits im Kontext mit Zahlen verwendet. Dort hat er dafür gesorgt, dass zu einer Zahl eine andere Zahl addiert wurde.
In Bezug auf Strings würde eine Addition allerdings keinerlei Sinn ergeben. Schließlich können Buchstaben schlecht miteinander addiert werden. Und genau deshalb wurde dem Plus-Operator die Aufgabe verliehen, in Python Strings miteinander zu verketten.
Der Computer sieht das Ganze folgendermaßen:
Bevor er eine Operation durchführt, prüft er immer erst, mit welchen Datentypen er es zu tun hat. Nur so kann sichergestellt werden, dass auch die richtige Operation vorgenommen wird.
Zusammengefasst: Sieht der Computer also um den Plus-Operator zwei Strings, verkettet er diese miteinander. Erkennt er hingegen vor und nach dem Plus-Operator jeweils einen Zahlenwert, addiert er diese miteinander.
Wie du siehst, ist es für den Computer sehr wichtig zu wissen, mit welchem Typ von Wert er arbeiten muss. Und genau deshalb existieren die sogenannten Datentypen, die du bald genauer kennenlernen wirst.