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
imMitgliedschaft - Gibt true zurück, wenn in der angegebenen Zeichenfolge ein Zeichen vorhanden istH 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.