In Python sind Strings Arrays von Bytes, die Unicode-Zeichen darstellen. Python hat jedoch keinen Zeichendatentyp. Ein einzelnes Zeichen ist einfach eine Zeichenfolge mit einer Länge von 1. Für den Zugriff auf Elemente der Zeichenfolge können eckige Klammern verwendet werden.

String erstellen

Zeichenfolgen in Python können mit einfachen oder doppelten oder sogar dreifachen Anführungszeichen erstellt werden.

  
String1 = 'Welcome to the Geeks World'
print("String with the use of Single Quotes: ") 
print(String1) 
  
String1 = "I'm a Geek"
print("\nString with the use of Double Quotes: ") 
print(String1) 
  
String1 =
print("\nString with the use of Triple Quotes: ") 
print(String1) 
  
String1 =
            
            
print("\nCreating a multiline String: ") 
print(String1) 

Ausgabe:

Zeichenfolge unter Verwendung von einfachen Anführungszeichen:
Willkommen in der Geeks World
Zeichenfolge mit doppelten Anführungszeichen:
Ich bin ein Geek
String mit der Verwendung von Triple Quotes:
Ich bin ein Geek und lebe in einer Welt von "Geeks"
Erstellen einer mehrzeiligen Zeichenfolge:
Geeks
            Zum
            Leben

Zugriff auf Zeichen in Python

In Python kann mithilfe der Indizierungsmethode auf einzelne Zeichen eines Strings zugegriffen werden. Durch die Indizierung können negative Adressreferenzen auf Zeichen von der Rückseite des Strings zugreifen, z. B. -1 bezieht sich auf das letzte Zeichen, -2 bezieht sich auf das vorletzte Zeichen usw.
Beim Zugriff auf einen Index außerhalb des Bereichs wird ein IndexError verursacht . Nur Ganzzahlen dürfen als Index übergeben werden. Float oder andere Typen verursachen einen TypeError .
Saiten

  
String1 = "GeeksForGeeks"
print("Initial String: ") 
print(String1) 
  
print("\nFirst character of String is: ") 
print(String1[0]) 
  
print("\nLast character of String is: ") 
print(String1[-1]) 

Ausgabe:



Anfangszeichenfolge:
GeeksForGeeks
Das erste Zeichen von String ist:
G
Das letzte Zeichen von String ist:
s

Schnurschneiden

Um auf eine Reihe von Zeichen in der Zeichenfolge zuzugreifen, wird die Methode zum Schneiden verwendet. Das Schneiden in einen String erfolgt mithilfe eines Slicing-Operators (Doppelpunkt).

  
String1 = "GeeksForGeeks"
print("Initial String: "
print(String1) 
  
print("\nSlicing characters from 3-12: ") 
print(String1[3:12]) 
  
print("\nSlicing characters between " +
    "3rd and 2nd last character: ") 
print(String1[3:-2]) 

Ausgabe:

Anfangszeichenfolge:
GeeksForGeeks
Schneiden von Zeichen von 3-12:
ksForGeek
Schneiden von Zeichen zwischen dem 3. und 2. vorletzten Zeichen:
ksForGee

Löschen / Aktualisieren aus einem String

In Python ist das Aktualisieren oder Löschen von Zeichen aus einem String nicht zulässig. Dies führt zu einem Fehler, da die Elementzuweisung oder das Löschen von Elementen aus einem String nicht unterstützt wird. Das Löschen des gesamten Strings ist zwar mit einem integrierten del-Schlüsselwort möglich. Dies liegt daran, dass Zeichenfolgen unveränderlich sind und daher Elemente einer Zeichenfolge nach ihrer Zuweisung nicht mehr geändert werden können. Nur neue Zeichenfolgen können demselben Namen zugewiesen werden.

Aktualisierung eines Charakters:

  
String1 = "Hello, I'm a Geek"
print("Initial String: ") 
print(String1) 
  
String1[2] = 'p'
print("\nUpdating character at 2nd Index: ") 
print(String1) 

Error:

Traceback (letzter Aufruf zuletzt): Die
Datei "/home/360bb1830c83a918fc78aa8979195653.py", Zeile 10, in
String1 [2] = 'p'
TypeError: Das Objekt 'str' unterstützt die Objektzuweisung nicht

Gesamte Zeichenfolge aktualisieren:

  
String1 = "Hello, I'm a Geek"
print("Initial String: ") 
print(String1) 
  
String1 = "Welcome to the Geek World"
print("\nUpdated String: ") 
print(String1) 

Ausgabe:

Anfangszeichenfolge:
Hallo, ich bin ein Geek
Aktualisierte Zeichenfolge:
Willkommen in der Geek World

Löschen eines Zeichens:

  
String1 = "Hello, I'm a Geek"
print("Initial String: ") 
print(String1) 
  
del String1[2
print("\nDeleting character at 2nd Index: ") 
print(String1) 

Error:

Traceback (letzter Aufruf zuletzt):
Datei "/home/499e96a61e19944e7e45b7a6e1276742.py", Zeile 10, in
del String1 [2]
TypeError: Das Objekt 'str' unterstützt das Löschen von Elementen nicht



Ganze Zeichenfolge löschen:

Das Löschen der gesamten Zeichenfolge ist mit dem Schlüsselwort del möglich. Wenn wir versuchen, die Zeichenfolge zu drucken, wird ein Fehler ausgegeben, da die Zeichenfolge gelöscht wird und nicht zum Drucken verfügbar ist.

  
String1 = "Hello, I'm a Geek"
print("Initial String: ") 
print(String1) 
  
del String1  
print("\nDeleting entire String: ") 
print(String1) 

Error:

Traceback (letzter Aufruf zuletzt):
Datei "/home/e4b8f2170f140da99d2fe57d9d8c6a94.py", Zeile 12, in
print (String1)
NameError: Name 'String1' ist nicht definiert

Escape-Sequenzierung in Python

Beim Drucken von Strings mit einfachen und doppelten Anführungszeichen wird SyntaxError verursacht, da String bereits einfache und doppelte Anführungszeichen enthält und daher mit beiden nicht gedruckt werden kann. Um einen solchen String zu drucken, werden entweder dreifache Anführungszeichen oder Escape-Sequenzen verwendet, um solche Strings zu drucken.
Escape-Sequenzen beginnen mit einem Backslash und können unterschiedlich interpretiert werden. Wenn einfache Anführungszeichen zur Darstellung einer Zeichenfolge verwendet werden, müssen alle in der Zeichenfolge enthaltenen einfachen Anführungszeichen maskiert werden, und dies gilt auch für doppelte Anführungszeichen.

  
String1 =
print("Initial String with use of Triple Quotes: ") 
print(String1) 
  
String1 = 'I\'m a "Geek"'
print("\nEscaping Single Quote: ") 
print(String1) 
  
String1 = "I'm a \"Geek\""
print("\nEscaping Double Quotes: ") 
print(String1) 
  
String1 = "C:\\Python\\Geeks\\"
print("\nEscaping Backslashes: ") 
print(String1) 

Ausgabe:

Anfangszeichenfolge unter Verwendung von dreifachen Anführungszeichen:
Ich bin ein "Geek"
Escaping Single Quote:
Ich bin ein "Geek"
Flucht vor doppelten Anführungszeichen:
Ich bin ein "Geek"
Escaping Backslashes:
C: \ Python \ Geeks \

Um die Escape-Sequenzen in einem String zu ignorieren, wird r oder R verwendet. Dies bedeutet, dass der String ein Roh-String ist und Escape-Sequenzen darin ignoriert werden müssen.

String1 = "This is \x47\x65\x65\x6b\x73 in \x48\x45\x58"
print("\nPrinting in HEX with the use of Escape Sequences: ") 
print(String1) 
  
String1 = r"This is \x47\x65\x65\x6b\x73 in \x48\x45\x58"
print("\nPrinting Raw String in HEX Format: ") 
print(String1) 

Ausgabe:

Drucken in HEX unter Verwendung von Escape-Sequenzen:
Das sind Geeks in HEX
Drucken eines Raw-Strings im HEX-Format:
Dies ist \ x47 \ x65 \ x65 \ x6b \ x73 in \ x48 \ x45 \ x58

Formatierung von Strings

Strings in Python können mit der format() -Methode formatiert werden, die ein sehr vielseitiges und leistungsstarkes Tool zum Formatieren von Strings ist. Die Formatierungsmethode in String enthält geschweifte Klammern {} als Platzhalter, die Argumente nach Position oder Schlüsselwort enthalten können, um die Reihenfolge anzugeben.

  
String1 = "{} {} {}".format('Geeks', 'For', 'Life') 
print("Print String in default order: ") 
print(String1) 
  
String1 = "{1} {0} {2}".format('Geeks', 'For', 'Life') 
print("\nPrint String in Positional order: ") 
print(String1) 
  
String1 = "{l} {f} {g}".format(g = 'Geeks', f = 'For', l = 'Life') 
print("\nPrint String in order of Keywords: ") 
print(String1) 

Ausgabe:

Zeichenfolge in Standardreihenfolge drucken:
Geeks fürs Leben
Zeichenfolge in Positionsreihenfolge drucken:
Für Geeks Leben
Zeichenfolge in der Reihenfolge der Schlüsselwörter drucken:
Leben für Geeks

Ganzzahlen wie Binär, Hexadezimal usw. und Gleitkommazahlen können mithilfe von Formatspezifizierern gerundet oder in Exponentenform angezeigt werden.



String1 = "{0:b}".format(16) 
print("\nBinary representation of 16 is ") 
print(String1) 
  
String1 = "{0:e}".format(165.6458) 
print("\nExponent representation of 165.6458 is ") 
print(String1) 
  
String1 = "{0:.2f}".format(1/6) 
print("\none-sixth is : ") 
print(String1) 

Ausgabe:

Binäre Darstellung von 16 ist
10000
Exponentendarstellung von 165.6458 ist
1,656458e + 02
ein Sechstel ist:
0,17

Eine Zeichenfolge kann links() oder mittig (^) mit Formatspezifizierern ausgerichtet werden, die durch Doppelpunkte (:) getrennt sind.

String1 = "|{:<10}|{:^10}|{:>10}|".format('Geeks','for','Geeks') 
print("\nLeft, center and right alignment with Formatting: ") 
print(String1) 
  
String1 = "\n{0:^16} was founded in {1:<4}!".format("GeeksforGeeks", 2009) 
print(String1) 

Ausgabe:

Linke, mittlere und rechte Ausrichtung mit Formatierung:
| Geeks | für | Geeks |
 GeeksforGeeks wurde 2009 gegründet!

Die Formatierung im alten Stil wurde ohne Verwendung der Formatierungsmethode mit dem Operator % durchgeführt

  
Integer1 = 12.3456789
print("Formatting in 3.2f format: ") 
print('The value of Integer1 is %3.2f' %Integer1) 
print("\nFormatting in 3.4f format: ") 
print('The value of Integer1 is %3.4f' %Integer1) 

Ausgabe:

Formatierung im 3.2f-Format:
Der Wert von Integer1 ist 12.35
Formatierung im 3.4f-Format:
Der Wert von Integer1 ist 12.3457

Nützliche Zeichenfolgenoperationen

String-Konstanten

Eingebaute Funktion Beschreibung
string.ascii_letters Verkettung der Konstanten ascii_lowercase und ascii_uppercase.
string.ascii_lowercase Verkettung von Kleinbuchstaben
string.ascii_uppercase Verkettung von Großbuchstaben
string.digits Ziffer in Strings
string.hexdigits Hexadigit in Strings
string.letters Verkettung der Zeichenfolgen in Klein- und Großbuchstaben
string.lowercase Eine Zeichenfolge muss Kleinbuchstaben enthalten.
string.octdigits Oktadigit in einer Zeichenfolge
string.punctuation ASCII-Zeichen mit Satzzeichen.
string.printable Zeichenfolge, die gedruckt werden kann
String.endswith() Gibt True zurück, wenn eine Zeichenfolge mit dem angegebenen Suffix endet, andernfalls False
String.startswith() Gibt True zurück, wenn eine Zeichenfolge mit dem angegebenen Präfix beginnt, andernfalls False
String.isdigit() Gibt "True" zurück, wenn alle Zeichen in der Zeichenfolge Ziffern sind. Andernfalls wird "False" zurückgegeben.
String.isalpha() Gibt "True" zurück, wenn alle Zeichen in der Zeichenfolge Alphabete sind. Andernfalls wird "False" zurückgegeben.
string.isdecimal() Gibt true zurück, wenn alle Zeichen in einer Zeichenfolge dezimal sind.
str.format() Eine der String-Formatierungsmethoden in Python3, die mehrere Ersetzungen und Wertformatierungen ermöglicht.
String.index Gibt die Position des ersten Auftretens von Teilzeichenfolgen in einer Zeichenfolge zurück
string.uppercase Eine Zeichenfolge muss Großbuchstaben enthalten.
string.whitespace Eine Zeichenfolge, die alle Zeichen enthält, die als Leerzeichen betrachtet werden.
string.swapcase() Die Methode konvertiert alle Großbuchstaben in Kleinbuchstaben und umgekehrt der angegebenen Zeichenfolge und gibt sie zurück
ersetzen() Gibt eine Kopie der Zeichenfolge zurück, bei der alle Vorkommen eines Teilstrings durch einen anderen Teilstring ersetzt werden.

Veraltete Zeichenfolgenfunktionen

Eingebaute Funktion Beschreibung
string.Isdecimal Gibt true zurück, wenn alle Zeichen in einer Zeichenfolge dezimal sind
String.Isalnum Gibt true zurück, wenn alle Zeichen in einer bestimmten Zeichenfolge alphanumerisch sind.
string.Istitle Gibt True zurück, wenn es sich bei der Zeichenfolge um eine Zeichenfolge mit Titel handelt
String.partition teilt die Zeichenfolge beim ersten Auftreten des Trennzeichens und gibt ein Tupel zurück.
String.Isidentifier Überprüfen Sie, ob eine Zeichenfolge eine gültige Kennung ist oder nicht.
String.len Gibt die Länge der Zeichenfolge zurück.
String.rindex Gibt den höchsten Index der Teilzeichenfolge innerhalb der Zeichenfolge zurück, wenn Teilzeichenfolge gefunden wird.
String.Max Gibt das höchste alphabetische Zeichen in einer Zeichenfolge zurück.
String.min Gibt das minimale alphabetische Zeichen in einer Zeichenfolge zurück.
String.splitlines Gibt eine Liste der Zeilen in der Zeichenfolge zurück.
string.capitalize Geben Sie ein Wort mit dem ersten Großbuchstaben zurück.
string.expandtabs Erweitern Sie die Registerkarten in einer Zeichenfolge und ersetzen Sie sie durch ein oder mehrere Leerzeichen
string.find Gibt den niedrigsten Index in einer Unterzeichenfolge zurück.
string.rfind finde den höchsten Index.
string.count Gibt die Anzahl der (nicht überlappenden) Vorkommen von Teilstring-Sub in String zurück
string.lower Geben Sie eine Kopie von s zurück, wobei jedoch Großbuchstaben in Kleinbuchstaben umgewandelt werden.
string.split Gibt eine Liste der Wörter der Zeichenfolge zurück. Wenn das optionale zweite Argument sep fehlt oder Keine
string.rsplit() Gibt eine Liste der Wörter der Zeichenfolge s zurück und scannt s vom Ende.
rpartition() Die Methode teilt die angegebene Zeichenfolge in drei Teile
string.splitfields Gibt eine Liste der Wörter der Zeichenfolge zurück, wenn sie nur mit zwei Argumenten verwendet wird.
string.join Verketten Sie eine Liste oder ein Tupel von Wörtern mit dazwischen liegenden Vorkommen von Sep.
string.strip() Es wird eine Kopie der Zeichenfolge zurückgegeben, wobei sowohl führende als auch nachfolgende Zeichen entfernt werden
string.lstrip Geben Sie eine Kopie der Zeichenfolge zurück, wobei führende Zeichen entfernt wurden.
string.rstrip Geben Sie eine Kopie der Zeichenfolge mit entfernten nachgestellten Zeichen zurück.
string.swapcase Konvertiert Kleinbuchstaben in Großbuchstaben und umgekehrt.
string.translate Übersetzen Sie die Zeichen mithilfe der Tabelle
string.upper Kleinbuchstaben in Großbuchstaben umgewandelt.
string.ljust Linksbündig in einem Feld gegebener Breite.
string.rjust Rechtsbündig in einem Feld gegebener Breite.
string.center() Mittenausrichtung in einem Feld gegebener Breite.
string-zfill Füllen Sie links eine numerische Zeichenfolge mit null Ziffern auf, bis die angegebene Breite erreicht ist.
string.replace Geben Sie eine Kopie der Zeichenfolge s zurück, wobei alle alten Teilzeichenfolgen durch neue ersetzt werden.
string.casefold() Gibt die Zeichenfolge in Kleinbuchstaben zurück, die für Vergleiche ohne Gehäuse verwendet werden kann.
string.encode Codiert die Zeichenfolge in eine von Python unterstützte Codierung. Die Standardcodierung ist utf-8.
string.maketrans Gibt eine Übersetzungstabelle zurück, die für str.translate() verwendet werden kann.

Aktuelle Artikel zu Python String

Weitere Videos zu Python Strings:

Python-String-Methoden - Teil2
Python-String-Methoden - Teil 3
Logische Operationen und Aufteilen in Strings

Programme von Python-Strings