Website-Suche

Eine Einführung in String-Funktionen in Python 3


Einführung

Python hat mehrere eingebaute Funktionen, die mit dem Datentyp String verbunden sind. Diese Funktionen ermöglichen es uns, Strings einfach zu modifizieren und zu manipulieren. Wir können Funktionen als Aktionen betrachten, die wir an Elementen unseres Codes durchführen. Eingebaute Funktionen sind solche, die in der Programmiersprache Python definiert sind und uns sofort zur Verfügung stehen.

In diesem Tutorial werden wir verschiedene Funktionen durchgehen, die wir verwenden können, um mit Strings in Python 3 zu arbeiten.

Voraussetzungen

Sie sollten Python 3 installiert und eine Programmierumgebung auf Ihrem Computer oder Server eingerichtet haben. Wenn Sie keine Programmierumgebung eingerichtet haben, können Sie auf die Installations- und Einrichtungsanleitungen für eine lokale Programmierumgebung oder für eine Programmierumgebung auf Ihrem Server verweisen, die für Ihr Betriebssystem (Ubuntu, CentOS, Debian usw.) geeignet ist.

Strings in Groß- und Kleinbuchstaben umwandeln

Die Funktionen str.upper() und str.lower() geben einen String zurück, bei dem alle Buchstaben eines ursprünglichen Strings in Groß- oder Kleinbuchstaben umgewandelt werden. Da Strings unveränderliche Datentypen sind, wird der zurückgegebene String ein neuer String sein. Alle Zeichen im String, die keine Buchstaben sind, werden nicht verändert.

Lass uns den String Sammy Shark in Großbuchstaben umwandeln:

Info: Um dem Beispielcode in diesem Tutorial zu folgen, öffnen Sie eine Python-interaktive Shell auf Ihrem lokalen System, indem Sie den Befehl python3 ausführen. Dann können Sie die Beispiele kopieren, einfügen oder bearbeiten, indem Sie sie nach der >>> Eingabeaufforderung hinzufügen.

ss = "Sammy Shark"
print(ss.upper())
SAMMY SHARK

Jetzt lassen Sie uns den String in Kleinbuchstaben umwandeln:

print(ss.lower())
sammy shark

Die str.upper() und str.lower() Funktionen erleichtern die Auswertung und den Vergleich von Zeichenfolgen, indem sie die Groß- und Kleinschreibung konsistent halten. So können wir beispielsweise überprüfen, ob der Name eines Benutzers, der in Kleinbuchstaben geschrieben wurde, in unserer Datenbank enthalten ist, indem wir ihn mit einer vollständig in Großbuchstaben geschriebenen Version vergleichen.

Boolesche Methoden

Python hat einige Methoden für Strings, die zu einem Booleschen Wert ausgewertet werden. Diese Methoden sind nützlich, wenn wir Formulare für Benutzer erstellen, die ausgefüllt werden sollen. Wenn wir nach einer Postleitzahl fragen, möchten wir nur einen numerischen String akzeptieren, aber wenn wir nach einem Namen fragen, möchten wir nur einen alphabetischen String akzeptieren.

Es gibt eine Reihe von String-Methoden, die Boolesche Werte zurückgeben.

MethodeWahr, wenn
str.isalnum()
Der String besteht nur aus alphanumerischen Zeichen (keine Symbole)
str.isalpha()
Der String besteht nur aus alphabetischen Zeichen (keine Symbole).
str.islower()
Die alphabetischen Zeichen der Zeichenfolge sind alle in Kleinbuchstaben.
str.isnumeric()
Der String besteht nur aus numerischen Zeichen.
str.isspace()
Der String besteht nur aus Leerzeichen.
str.istitle()
Der String ist im Titelcase
str.isupper()
Die alphabetischen Zeichen der Zeichenfolge sind alle großen Buchstaben.

Lass uns ein paar davon in Aktion überprüfen:

number = "5"
letters = "abcdef"

print(number.isnumeric())
print(letters.isnumeric())
True
False

Die Verwendung der str.isnumeric()-Methode auf dem String 5 gibt den Wert True zurück, während die Verwendung derselben Methode auf dem String abcdef den Wert False zurückgibt.

In ähnlicher Weise können wir abfragen, ob die alphabetischen Zeichen einer Zeichenkette im Titel, in Großbuchstaben oder in Kleinbuchstaben vorliegen. Lassen Sie uns ein paar Zeichenketten erstellen:

movie = "2001: A SAMMY ODYSSEY"
book = "A Thousand Splendid Sharks"
poem = "sammy lived in a pretty how town"

Jetzt lassen Sie uns die Booleschen Methoden ausprobieren, die auf die Groß- und Kleinschreibung überprüfen:

print(movie.islower())
print(movie.isupper())
print(book.istitle())
print(book.isupper())
print(poem.istitle())
print(poem.islower())

Jetzt können wir diese kleinen Programme ausführen und die folgende Ausgabe erhalten:

Output of movie string
False True
Output of book string
True False
Output of poem string
False True

Die Überprüfung, ob Zeichen in Kleinbuchstaben, Großbuchstaben oder Titelschreibung vorliegen, kann uns helfen, unsere Daten entsprechend zu sortieren und bietet uns die Möglichkeit, die gesammelten Daten zu standardisieren, indem wir Zeichenfolgen nach Bedarf überprüfen und ändern.

Boolesche Zeichenfolgenmethoden sind nützlich, wenn wir überprüfen möchten, ob etwas, das ein Benutzer eingibt, innerhalb gegebener Parameter passt.

Bestimmen der Zeichenlänge

Die Zeichenfolgenfunktion len() gibt die Anzahl der Zeichen in einer Zeichenfolge zurück. Diese Methode ist nützlich, wenn Sie beispielsweise minimale oder maximale Passwortlängen durchsetzen müssen oder um größere Zeichenfolgen zu kürzen, sodass sie innerhalb bestimmter Grenzen für die Verwendung als Abkürzungen liegen.

Um diese Methode zu demonstrieren, werden wir die Länge eines satzlangen Strings berechnen:

open_source = "Sammy contributes to open source."
print(len(open_source))
33

Wir setzen die Variable open_source gleich dem String "Sammy trägt zu Open Source bei.", und dann übergaben wir diese Variable an die Funktion len() mit len(open_source). Anschließend übergaben wir die Methode in die print()-Methode, damit wir die Ausgabe auf dem Bildschirm von unserem Programm generieren konnten.

Beachte, dass jedes Zeichen, das von einfachen oder doppelten Anführungszeichen umschlossen ist - einschließlich Buchstaben, Zahlen, Leerzeichen und Symbolen - von der len()-Funktion gezählt wird.

join(), split() und replace() Methoden

Die Methoden str.join(), str.split() und str.replace() sind einige zusätzliche Möglichkeiten, um Zeichenfolgen in Python zu manipulieren.

Die str.join()-Methode wird zwei Zeichenfolgen verketten, jedoch auf eine Weise, dass eine Zeichenfolge durch eine andere hindurchgeht.

Lass uns eine Zeichenkette erstellen:

balloon = "Sammy has a balloon."

Jetzt verwenden wir die str.join()-Methode, um Leerzeichen zu diesem String hinzuzufügen, was wir folgendermaßen tun können:

" ".join(balloon)

Wenn wir das ausdrucken:

print(" ".join(balloon))

Wir werden feststellen, dass im neuen zurückgegebenen String im gesamten ersten String zusätzlicher Raum hinzugefügt wurde.

S a m m y   h a s   a   b a l l o o n .

Wir können auch die str.join() Methode verwenden, um eine Zeichenkette zurückzugeben, die eine Umkehrung der ursprünglichen Zeichenkette ist:

print("".join(reversed(balloon)))
.noollab a sah ymmaS

Wir wollten keinen Teil eines anderen Strings zum ersten String hinzufügen, deshalb haben wir die Anführungszeichen ohne Abstand berührend gelassen.

Die str.join()-Methode ist auch nützlich, um eine Liste von Zeichenfolgen zu einer neuen einzelnen Zeichenfolge zu kombinieren.

Lass uns einen durch Kommas getrennten String aus einer Liste von Strings erstellen:

print(",".join(["sharks", "crustaceans", "plankton"]))
sharks,crustaceans,plankton

Wenn wir ein Komma und ein Leerzeichen zwischen den Zeichenfolgenwerten in unserem neuen String hinzufügen möchten, können wir unseren Ausdruck mit einem Leerzeichen nach dem Komma umschreiben: ", ".join(["haie", "krustentiere", "plankton"]).

Genau wie wir Strings zusammenfügen können, können wir sie auch aufteilen. Dazu verwenden wir die str.split() Methode:

print(balloon.split())
['Sammy', 'has', 'a', 'balloon.']

Die str.split() Methode gibt eine Liste von Zeichenfolgen zurück, die durch Leerzeichen getrennt sind, wenn kein anderer Parameter angegeben wird.

Wir können auch str.split() verwenden, um bestimmte Teile eines ursprünglichen Strings zu entfernen. Zum Beispiel, lassen Sie uns den Buchstaben a aus dem String entfernen:

print(balloon.split("a"))
['S', 'mmy h', 's ', ' b', 'lloon.']

Jetzt wurde der Buchstabe a entfernt und die Strings wurden dort getrennt, wo jede Instanz des Buchstabens a war, wobei der Leerraum beibehalten wurde.

Die str.replace()-Methode kann einen ursprünglichen String annehmen und einen aktualisierten String mit einigen Ersetzungen zurückgeben.

Nehmen wir an, der Ballon, den Sammy hatte, ist verloren. Da Sammy diesen Ballon nicht mehr hat, werden wir den Teilstring "hat" im ursprünglichen String "Ballon" in einem neuen String in "hatte" ändern:

print(balloon.replace("has","had"))

In den Klammern ist der erste Teilstring das, was wir ersetzen möchten, und der zweite Teilstring ist das, womit wir diesen ersten Teilstring ersetzen. Unser Output wird so aussehen:

Sammy had a balloon.

Die Verwendung der String-Methoden str.join(), str.split() und str.replace() gibt Ihnen mehr Kontrolle über die Manipulation von Strings in Python.

Schlussfolgerung

Dieses Tutorial hat einige der gängigen integrierten Methoden für den Datentyp String durchgesehen, die Sie verwenden können, um mit Strings in Ihren Python-Programmen zu arbeiten und sie zu manipulieren.

Sie können mehr über andere Datentypen in "Verstehen von Datentypen" erfahren, mehr über Zeichenfolgen in "Eine Einführung in die Arbeit mit Zeichenfolgen" lesen und erfahren, wie Sie das Aussehen von Zeichenfolgen in "So formatieren Sie Text in Python 3" ändern.