Python string type: Zeichenketten, die in Python String genannt werden, sind ein grundlegender Typ der Programmierung. Es handelt sich dabei um eine Folge von alphabetischen, numerischen oder symbolischen Zeichen. Bei der Verarbeitung von Text, strukturierten Daten oder Daten aus externen Quellen werden Python-Strings sehr häufig verwendet.
Wenn du also mit der Programmierung in Python beginnen möchtest, musst du wissen, wie man mit ihnen umgeht. Strings sind unveränderlich, was bedeutet, dass sie, wenn sie einmal erstellt wurden, nicht mehr verändert werden können.
Sie können jedoch mithilfe verschiedener Methoden manipuliert werden. Lass uns diese verschiedenen Funktionen erkunden.
Was ist Python string type?
Es gibt verschiedene Möglichkeiten, einen Python-String zu definieren: einfache oder doppelte Anführungszeichen, aber auch dreifache Anführungszeichen. Die Verwendung von drei einfachen Anführungszeichen oder drei doppelten Anführungszeichen ermöglicht es, Zeilenumbrüche bei der Anzeige des Strings zu berücksichtigen.
Es ist möglich, einen Python-String einer Variablen zuzuweisen, um den Code zu optimieren und ihn nicht mit zu langen Zeichenketten zu überladen, die sich im gesamten Code wiederholen würden.
Man zeigt einfach einen Python-String mit der Funktion print() an. Achtung: Wenn man einen String anzeigen will, der einfache oder doppelte Anführungszeichen enthält, wird ein SyntaxError zurückgegeben.
Um dieses Problem zu beheben, muss man entweder die dreifachen Anführungszeichen bei der Definition des Strings verwenden oder Escape-Sequenzen (escape sequences). Sie werden durch einen Backslash eingeleitet und sind sehr nützlich, um diese Sonderzeichen anzuzeigen. Wir werden in einem späteren Abschnitt noch genauer darauf eingehen.
Wie indiziere ich mit der Funktion Python string type?
Es ist wichtig, sich vor Augen zu halten, dass ein Python-String wie eine Liste funktioniert. Man kann also mit Hilfe von eckigen Klammern auf ein bestimmtes Zeichen in der Zeichenkette zugreifen, wie im folgenden Beispiel. Wie bei Listen kann man auch einen Python-String mit negativen Zahlen indizieren. So gibt x[-1] das letzte Element des Strings zurück.
Denke daran, dass die Indizierung in Python bei 0 beginnt. Um eine bestimmte Teilsequenz eines Python-Strings zurückzugeben, wird das Slicing verwendet. Der Befehl x[start:end] gibt die Teilfolge von Zeichen beginnend mit dem Index start bis zum Index end ohne Einschluss zurück.
Vergleichen von Zeichenketten mit Python string type
Zunächst ist es wichtig zu beachten, dass jedes Zeichen in einem Python-String mit einem ASCII-Wert ( American Standard Code for Information Interchange ) verknüpft ist. Zum Beispiel hat das Zeichen „A“ einen ASCII-Wert von 65, während „a“ mit dem Wert 97 verknüpft ist. Daher wird der Vergleich auf die Groß- und Kleinschreibung des Zeichens reagieren.
Um zwei Python-Strings zu vergleichen, werden die üblichen Operatoren ==, !=, <, >, >= oder auch <= verwendet. Die Operatoren vergleichen tatsächlich die ASCII-Werte, die den beiden Strings zugeordnet sind. So hat „Ananas“ einen kleineren ASCII-Wert als „ananas“ und der Befehl „Ananas“ < „ananas“ wird True zurückgeben.
Verwandte Methoden
Auf Python-Strings können viele verschiedene Methoden ausgeführt werden.
len(x) | Gibt die Länge der Zeichenkette zurück. |
---|---|
‘Hello’ in x | Prüft, ob ein Zeichen oder eine Zeichenkette in x enthalten ist. Gibt ein Boolesches Ergebnis zurück, True, wenn ‘Hello’ in x ist, andernfalls False. |
x.isalpha() | Gibt True zurück, wenn der Python-String nur aus Buchstaben besteht. |
x.isdecimal() | Gibt True zurück, wenn x ausschließlich aus Ganzzahlen besteht. Achtung, diese Methode erkennt keine negativen Zahlen und keine Nicht-Ganzzahlen. |
x.startswith(“start”) / x.endswith(“start”) | Prüft, ob die Zeichenkette mit (bzw. endet mit) “start” anfängt. |
x.find(“test”) | Sucht den String “test” in der Zeichenkette x und gibt den Index zurück, an dem er beginnt, oder -1, falls er nicht in der Zeichenkette gefunden wird. |
x.count(sub, beg, end) | Zählt, wie oft sub in x zwischen beg und end vorkommt. |
Operationen mit Python-Strings
Wenn du eine Zeichenkette nicht ändern kannst, gibt es verschiedene Operationen, mit denen du neue Zeichenketten aus bereits bestehenden Zeichenketten erstellen kannst.
x.replace(“old”, “new”) | gibt den String x zurück, bei dem alle Vorkommen von “old” durch “new” ersetzt wurden. |
---|---|
x.split( ) | Teilt einen Python-String anhand des angegebenen Zeichens, hier eines Leerzeichens. Diese Operation gibt eine Liste der geteilten Elemente zurück. |
x + y | Verbindet die beiden Strings x und y, gibt also einen String zurück, der aus x gefolgt von y besteht. |
x*2 | Erstellt einen neuen String, der aus der zweimaligen Wiederholung des Strings x besteht. |
capitalize(x) | Setzt den ersten Buchstaben von x in Großbuchstaben. |
x.lower() / x.upper() | Wandelt x in Kleinbuchstaben bzw. Großbuchstaben um. |
max(x) / min(x) | Gibt den Buchstaben von x zurück, der am nächsten am Anfang bzw. Ende des Alphabets steht. |
x[::-1] | Kehrt den Python-String um |
Löschen
Wie bereits erwähnt, sind Python-Strings unveränderlich. Einmal erstellt, können sie nicht mehr verändert werden und man kann z. B. auch nicht ein bestimmtes Zeichen löschen. Wenn man, wie im folgenden Beispiel, das erste Zeichen von x ersetzen möchte, wird dies einen Fehler zurückgeben.
Die einzige Möglichkeit, die du hast, wenn deine Zeichenkette fehlerhaft ist, ist, sie zu löschen. Dies geschieht mit dem Befehl del.
Escape-Charaktere
Wie bereits erwähnt, werden Escape-Zeichen oder Escape-Sequenzen durch einen Backslash eingeleitet. Sie ermöglichen das Einfügen bestimmter Sonderzeichen, wie z. B. Anführungszeichen, oder das Ausführen bestimmter Operationen. Für einen Zeilenumbruch kann man „\“ verwenden, für einen Tabulator „\t“ oder „\“ zeigt einen Backslash an.
Python string type - Formatierung
Die Formatierung von Python-Strings entspricht den Formatierungsmethoden. Die oben vorgestellte Verkettung ist eine Form der Formatierung. Sie ist jedoch nicht die nützlichste Methode, da sie nur Daten desselben Typs zusammenfügen kann. Wenn du also einen String mit numerischen Variablen verknüpfen willst, musst du die numerischen Variablen mit dem Befehl str() in Python-String umwandeln.
Die format-Methode stellt eine viel einfachere Möglichkeit dar, Python-Strings zu formatieren. Die Strings, die als Argumente für die format()-Methode angegeben werden, werden der Reihe nach an den Stellen ersetzt, an denen sich geschweifte Klammern befinden.
Im Gegensatz zur Verkettung unterstützt diese Methode verschiedene Arten von Variablen. Innerhalb der geschweiften Klammern kann man den Index des zu verwendenden Arguments oder den Namen der Variablen angeben, die als Argument verwendet werden soll.
In Python 3.6 wurde eine neue Funktion eingeführt: f-Strings. Diese Methode ermöglicht eine bessere Lesbarkeit und bietet auch eine bessere Leistung als die format-Methode. Um diese Methode zu verwenden, musst du den Buchstaben „f“ vor der Definition einer Variablen vom Typ Python-String einfügen.
Dann ist es möglich, wie bei der format-Methode, Variablen unterschiedlichen Typs mit Hilfe der geschweiften Klammern in den String einzufügen.
Dies ermöglicht auch die Verwendung der verschiedenen Methoden, die mit den Python-Strings verbunden sind, die zuvor innerhalb der geschweiften Klammern erläutert wurden. Wenn du f strings verwendest, musst du darauf achten, dass du die Variablen, die vorher aufgerufen werden, definierst.
Früher wurde die Formatierung mit dem Befehl % durchgeführt, sodass du diese Art der Formatierung immer noch finden kannst, auch wenn diese Methode mittlerweile veraltet ist.
Fazit
Python-Strings sind ein weit verbreiteter Typ in der Python-Programmierung, insbesondere bei der Bearbeitung von Textdaten, der Anzeige von Ergebnissen oder der Textverarbeitung.
Um zu lernen, Python vollständig zu beherrschen, bieten dir die DataScientest-Kurse einen auf „learning by doing“ basierenden Ansatz, der dich zu einem Experten für Programmierung und Datenwissenschaft macht und dir ein Diplom als Data Scientist, Data Analyst oder auch Data Engineer verleiht.