Python 3 - Strings
Strings gehören zu den beliebtesten Typen in Python. Wir können sie einfach erstellen, indem wir Zeichen in Anführungszeichen setzen. Python behandelt einfache Anführungszeichen genauso wie doppelte Anführungszeichen. Das Erstellen von Zeichenfolgen ist so einfach wie das Zuweisen eines Werts zu einer Variablen. Zum Beispiel -
var1 = 'Hello World!'
var2 = "Python Programming"
Zugriff auf Werte in Strings
Python unterstützt keinen Zeichentyp. Diese werden als Zeichenfolgen der Länge eins behandelt und daher auch als Teilzeichenfolge betrachtet.
Um auf Teilzeichenfolgen zuzugreifen, verwenden Sie die eckigen Klammern zum Schneiden zusammen mit dem Index oder den Indizes, um Ihre Teilzeichenfolge zu erhalten. Zum Beispiel -
#!/usr/bin/python3
var1 = 'Hello World!'
var2 = "Python Programming"
print ("var1[0]: ", var1[0])
print ("var2[1:5]: ", var2[1:5])
Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:
var1[0]: H
var2[1:5]: ytho
Strings aktualisieren
Sie können eine vorhandene Zeichenfolge "aktualisieren", indem Sie einer anderen Zeichenfolge eine Variable (erneut) zuweisen. Der neue Wert kann mit seinem vorherigen Wert oder mit einer völlig anderen Zeichenfolge verknüpft werden. Zum Beispiel -
#!/usr/bin/python3
var1 = 'Hello World!'
print ("Updated String :- ", var1[:6] + 'Python')
Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:
Updated String :- Hello Python
Escape-Charaktere
Die folgende Tabelle enthält eine Liste von Escape- oder nicht druckbaren Zeichen, die mit Backslash-Notation dargestellt werden können.
Ein Escape-Zeichen wird interpretiert. sowohl in einfachen als auch in doppelten Anführungszeichen.
Backslash-Notation | Hexadezimalzeichen | Beschreibung |
---|---|---|
\ein | 0x07 | Glocke oder Alarm |
\ b | 0x08 | Rücktaste |
\ cx | Control-x | |
\ Cx | Control-x | |
\ e | 0x1b | Flucht |
\ f | 0x0c | Formfeed |
\ M- \ Cx | Meta-Control-x | |
\ n | 0x0a | Neue Zeile |
\ nnn | Oktalschreibweise, wobei n im Bereich von 0,7 liegt | |
\ r | 0x0d | Wagenrücklauf |
\ s | 0x20 | Raum |
\ t | 0x09 | Tab |
\ v | 0x0b | Vertikale Registerkarte |
\ x | Zeichen x | |
\ xnn | Hexadezimale Notation, wobei n im Bereich von 0,9, af oder AF liegt |
String Special Operators
Stringvariable annehmen a hält 'Hallo' und variabel b hält 'Python', dann -
Operator | Beschreibung | Beispiel |
---|---|---|
+ | Verkettung - Fügt Werte auf beiden Seiten des Operators hinzu | a + b gibt HelloPython |
* * | Wiederholung - Erstellt neue Zeichenfolgen und verkettet mehrere Kopien derselben Zeichenfolge | a * 2 gibt -HalloHallo |
[] | Slice - Gibt den Charakter aus dem angegebenen Index an | a [1] ergibt e |
[:] | Range Slice - Gibt die Zeichen aus dem angegebenen Bereich an | a [1: 4] ergibt ell |
im | Mitgliedschaft - Gibt true zurück, wenn in der angegebenen Zeichenfolge ein Zeichen vorhanden ist | H in a wird 1 geben |
nicht in | Mitgliedschaft - Gibt true zurück, wenn in der angegebenen Zeichenfolge kein Zeichen vorhanden ist | M nicht in einem wird 1 geben |
r / R. | Raw String - Unterdrückt die tatsächliche Bedeutung von Escape-Zeichen. Die Syntax für rohe Zeichenfolgen ist genau die gleiche wie für normale Zeichenfolgen, mit Ausnahme des Operators für rohe Zeichenfolgen, dem Buchstaben "r", der vor den Anführungszeichen steht. Das "r" kann Kleinbuchstaben (r) oder Großbuchstaben (R) sein und muss unmittelbar vor dem ersten Anführungszeichen stehen. | print r '\ n' druckt \ n und druckt R '\ n'prints \ n |
%. | Formatieren - Führt die Formatierung von Zeichenfolgen durch | Siehe im nächsten Abschnitt |
Zeichenfolgenformatierungsoperator
Eine der coolsten Funktionen von Python ist der String-Format-Operator%. Dieser Operator ist nur für Zeichenfolgen verfügbar und gleicht das Paket mit Funktionen aus der printf () -Familie von C aus. Das Folgende ist ein einfaches Beispiel -
#!/usr/bin/python3
print ("My name is %s and weight is %d kg!" % ('Zara', 21))
Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:
My name is Zara and weight is 21 kg!
Hier ist die Liste der vollständigen Symbole, die zusammen mit% - verwendet werden können.
Sr.Nr. | Symbol und Konvertierung formatieren |
---|---|
1 | %c Charakter |
2 | %s Zeichenfolgenkonvertierung über str () vor der Formatierung |
3 | %i vorzeichenbehaftete Dezimalzahl |
4 | %d vorzeichenbehaftete Dezimalzahl |
5 | %u vorzeichenlose Dezimalzahl |
6 | %o oktale Ganzzahl |
7 | %x hexadezimale Ganzzahl (Kleinbuchstaben) |
8 | %X hexadezimale Ganzzahl (Großbuchstaben) |
9 | %e Exponentialschreibweise (mit Kleinbuchstaben 'e') |
10 | %E Exponentialschreibweise (mit Großbuchstaben 'E') |
11 | %f reelle Gleitkommazahl |
12 | %g der kürzere von% f und% e |
13 | %G der kürzere von% f und% E. |
Weitere unterstützte Symbole und Funktionen sind in der folgenden Tabelle aufgeführt:
Sr.Nr. | Symbol & Funktionalität |
---|---|
1 | * Argument gibt Breite oder Genauigkeit an |
2 | - linke Rechtfertigung |
3 | + Zeigen Sie das Schild an |
4 | <sp> Lassen Sie ein Leerzeichen vor einer positiven Zahl |
5 | # Fügen Sie die oktale führende Null ('0') oder die hexadezimale führende '0x' oder '0X' hinzu, je nachdem, ob 'x' oder 'X' verwendet wurden. |
6 | 0 Pad von links mit Nullen (anstelle von Leerzeichen) |
7 | % '%%' hinterlässt ein einzelnes Literal '%' |
8 | (var) Zuordnungsvariable (Wörterbuchargumente) |
9 | m.n. m ist die minimale Gesamtbreite und n ist die Anzahl der nach dem Dezimalpunkt anzuzeigenden Stellen (falls zutreffend). |
Dreifache Zitate
Pythons dreifache Anführungszeichen helfen dabei, indem Zeichenfolgen mehrere Zeilen umfassen können, einschließlich wörtlicher NEWLINEs, TABs und anderer Sonderzeichen.
Die Syntax für dreifache Anführungszeichen besteht aus drei aufeinander folgenden single or double Zitate.
#!/usr/bin/python3
para_str = """this is a long string that is made up of
several lines and non-printable characters such as
TAB ( \t ) and they will show up that way when displayed.
NEWLINEs within the string, whether explicitly given like
this within the brackets [ \n ], or just a NEWLINE within
the variable assignment will also show up.
"""
print (para_str)
Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt. Beachten Sie, wie jedes einzelne Sonderzeichen bis zur letzten NEWLINE am Ende der Zeichenfolge zwischen "up" in seine gedruckte Form konvertiert wurde. und schließende dreifache Anführungszeichen. Beachten Sie auch, dass NEWLINEs entweder mit einem expliziten Wagenrücklauf am Ende einer Zeile oder ihrem Escape-Code (\ n) auftreten - -
this is a long string that is made up of
several lines and non-printable characters such as
TAB ( ) and they will show up that way when displayed.
NEWLINEs within the string, whether explicitly given like
this within the brackets [
], or just a NEWLINE within
the variable assignment will also show up.
Rohe Zeichenfolgen behandeln den Backslash überhaupt nicht als Sonderzeichen. Jedes Zeichen, das Sie in eine rohe Zeichenfolge einfügen, bleibt so, wie Sie es geschrieben haben -
#!/usr/bin/python3
print ('C:\\nowhere')
Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:
C:\nowhere
Lassen Sie uns nun den rohen String verwenden. Wir würden Ausdruck in setzenr'expression' wie folgt -
#!/usr/bin/python3
print (r'C:\\nowhere')
Wenn der obige Code ausgeführt wird, wird das folgende Ergebnis erzeugt:
C:\\nowhere
Unicode-Zeichenfolge
In Python 3 werden alle Zeichenfolgen in Unicode dargestellt. In Python 2 wird intern als 8-Bit-ASCII gespeichert. Daher muss 'u' angehängt werden, um Unicode zu erstellen. Es ist jetzt nicht mehr nötig.
Integrierte String-Methoden
Python enthält die folgenden integrierten Methoden zum Bearbeiten von Zeichenfolgen:
Sr.Nr. | Methoden & Beschreibung |
---|---|
1 |
profitieren()
Großschreibung des ersten Buchstabens |
2 |
Mitte (Breite, Füllcharakter)
Gibt eine mit Fillchar aufgefüllte Zeichenfolge zurück, wobei die ursprüngliche Zeichenfolge auf insgesamt Spalten mit der Breite zentriert ist . |
3 |
count (str, beg = 0, end = len (string))
Zählt, wie oft str in einem String oder in einem String eines Strings vorkommt, wenn der Startindexbeginn und das Endindexende angegeben sind. |
4 |
decodieren (Kodierung = 'UTF-8', Fehler = 'streng')
Dekodiert die Zeichenfolge mit dem für die Codierung registrierten Codec. Die Codierung ist standardmäßig die Standard-Zeichenfolgencodierung. |
5 |
encode (encoding = 'UTF-8', error = 'strict')
Gibt die codierte String-Version des Strings zurück. Bei einem Fehler wird standardmäßig ein ValueError ausgelöst, es sei denn, Fehler werden mit "Ignorieren" oder "Ersetzen" angegeben. |
6 |
Enden mit (Suffix, beg = 0, end = len (Zeichenfolge))
Legt fest, ob ein String oder ein Teilstring des Strings (wenn Startindexbeginn und Endindexende angegeben sind) mit dem Suffix endet. Gibt in diesem Fall true und andernfalls false zurück. |
7 |
expandtabs (tabsize = 8)
Erweitert Registerkarten in Zeichenfolgen auf mehrere Leerzeichen. Der Standardwert beträgt 8 Leerzeichen pro Registerkarte, wenn keine Registerkartengröße angegeben ist. |
8 |
find (str, beg = 0 end = len (string))
Bestimmen Sie, ob str in einem String oder in einem Teilstring des Strings vorkommt, wenn der Startindexbeginn und das Endindexende den Rückgabeindex erhalten, wenn er gefunden wird, und andernfalls -1. |
9 |
Index (str, beg = 0, end = len (string))
Entspricht find (), löst jedoch eine Ausnahme aus, wenn str nicht gefunden wird. |
10 |
isalnum ()
Gibt true zurück, wenn die Zeichenfolge mindestens 1 Zeichen enthält und alle Zeichen alphanumerisch und andernfalls false sind. |
11 |
isalpha ()
Gibt true zurück, wenn die Zeichenfolge mindestens 1 Zeichen enthält und alle Zeichen alphabetisch und andernfalls false sind. |
12 |
isdigit ()
Gibt true zurück, wenn der String nur Ziffern enthält, andernfalls false. |
13 |
ist tiefer()
Gibt true zurück, wenn die Zeichenfolge mindestens 1 Großbuchstaben enthält und alle Großbuchstaben in Kleinbuchstaben und andernfalls false sind. |
14 |
isnumerisch ()
Gibt true zurück, wenn eine Unicode-Zeichenfolge nur numerische Zeichen enthält, andernfalls false. |
15 |
isspace ()
Gibt true zurück, wenn der String nur Leerzeichen enthält, andernfalls false. |
16 |
istitle ()
Gibt true zurück, wenn die Zeichenfolge ordnungsgemäß "titlecased" ist, andernfalls false. |
17 |
isupper ()
Gibt true zurück, wenn die Zeichenfolge mindestens ein Großbuchstaben enthält und alle Großbuchstaben in Großbuchstaben und andernfalls false sind. |
18 |
join (seq)
Fügt die Zeichenfolgendarstellungen von Elementen in der folgenden Sequenz zu einer Zeichenfolge mit Trennzeichen zusammen (verkettet sie). |
19 |
len (string)
Gibt die Länge der Zeichenfolge zurück |
20 |
ljust (width [, fillchar])
Gibt eine mit Leerzeichen aufgefüllte Zeichenfolge zurück, wobei die ursprüngliche Zeichenfolge linksbündig auf insgesamt Spalten mit Breite ausgerichtet ist. |
21 |
niedriger()
Konvertiert alle Großbuchstaben in Zeichenfolgen in Kleinbuchstaben. |
22 |
lstrip ()
Entfernt alle führenden Leerzeichen in der Zeichenfolge. |
23 |
maketrans ()
Gibt eine Übersetzungstabelle zurück, die in der Übersetzungsfunktion verwendet werden soll. |
24 |
max (str)
Gibt das maximale alphabetische Zeichen aus der Zeichenfolge str zurück. |
25 |
min (str)
Gibt das minimale alphabetische Zeichen aus der Zeichenfolge str zurück. |
26 |
ersetzen (alt, neu [, max])
Ersetzt alle alten Vorkommen in der Zeichenfolge durch neue oder höchstens maximale Vorkommen, wenn max angegeben ist. |
27 |
rfind (str, beg = 0, end = len (string))
Wie find (), jedoch in einer Zeichenfolge rückwärts suchen. |
28 |
rindex (str, beg = 0, end = len (string))
Entspricht index (), sucht jedoch in einer Zeichenfolge rückwärts. |
29 |
rjust (width, [, fillchar])
Gibt eine mit Leerzeichen aufgefüllte Zeichenfolge zurück, wobei die ursprüngliche Zeichenfolge rechtsbündig auf insgesamt Spalten mit Breite ausgerichtet ist. |
30 |
rstrip ()
Entfernt alle nachgestellten Leerzeichen der Zeichenfolge. |
31 |
split (str = "", num = string.count (str))
Teilt die Zeichenfolge nach dem Trennzeichen str (Leerzeichen, falls nicht angegeben) und gibt eine Liste der Teilzeichenfolgen zurück. Aufteilen in höchstens num Teilzeichenfolgen, falls angegeben. |
32 |
Splitlines (num = string.count ('\ n'))
Teilt die Zeichenfolge aller (oder num) NEWLINEs und gibt eine Liste jeder Zeile mit entfernten NEWLINEs zurück. |
33 |
Start mit (str, beg = 0, end = len (string))
Legt fest, ob eine Zeichenfolge oder eine Teilzeichenfolge der Zeichenfolge (wenn Startindexbeginn und Endindexende angegeben sind) mit Teilzeichenfolge str beginnt. Gibt in diesem Fall true und andernfalls false zurück. |
34 |
Streifen ([Zeichen])
Führt sowohl lstrip () als auch rstrip () für einen String aus |
35 |
Swapcase ()
Invertiert die Groß- und Kleinschreibung für alle Buchstaben in der Zeichenfolge. |
36 |
Titel()
Gibt die "titlecased" -Version der Zeichenfolge zurück, dh alle Wörter beginnen mit Großbuchstaben und der Rest ist in Kleinbuchstaben. |
37 |
übersetzen (Tabelle, deletechars = "")
Übersetzt die Zeichenfolge gemäß der Übersetzungstabelle str (256 Zeichen) und entfernt die Zeichen in der del-Zeichenfolge. |
38 |
Oberer, höher()
Konvertiert Kleinbuchstaben in Zeichenfolgen in Großbuchstaben. |
39 |
zfill (Breite)
Gibt die ursprüngliche Zeichenfolge zurück, die mit Nullen auf insgesamt Breite Zeichen aufgefüllt ist. zfill () ist für Zahlen vorgesehen und behält jedes vorgegebene Vorzeichen (weniger als eine Null). |
40 |
isdecimal ()
Gibt true zurück, wenn eine Unicode-Zeichenfolge nur Dezimalzeichen enthält, andernfalls false. |