Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Python

Python Strings meistern: Erstellung, Zugriff und Manipulation

Strings in Python

Strings gehören zu den beliebtesten Typen in Python. Wir können sie einfach erstellen, indem wir Zeichen in Anführungszeichen einschließen. Python behandelt einfache Anführungszeichen genauso wie doppelte. Das Erstellen von Strings ist so einfach wie die Zuweisung eines Werts zu einer Variable. Zum Beispiel:

var1 = 'Hello World!'
var2 = "Python Programming"

Zugriff auf Werte in Strings

Python unterstützt keinen Zeichentyp (Character); diese werden als Strings der Länge eins behandelt und somit auch als Teilstring betrachtet.

Für den Zugriff auf Teilstrings verwenden Sie eckige Klammern für Slicing zusammen mit dem Index oder den Indizes, um Ihren Teilstring zu erhalten. Zum Beispiel:

#!/usr/bin/python
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, erzeugt er folgendes Ergebnis:

var1[0]: H
var2[1:5]: ytho

Strings aktualisieren

Sie können einen bestehenden String "aktualisieren", indem Sie einer Variablen einen anderen String (neu) zuweisen. Der neue Wert kann mit dem vorherigen Wert zusammenhängen oder ein völlig anderer String sein. Zum Beispiel:

#!/usr/bin/python
var1 = 'Hello World!'
print "Updated String :- ", var1[:6] + 'Python'

Wenn der obige Code ausgeführt wird, erzeugt er folgendes Ergebnis:

Updated String :- Hello Python

Escape-Zeichen

Die folgende Tabelle listet Escape- oder nicht-druckbare Zeichen auf, die mit Backslash-Notation dargestellt werden können.

Ein Escape-Zeichen wird interpretiert; sowohl in einfach als auch in doppelt gequoteten Strings.

Backslash-NotationHexadezimales ZeichenBeschreibung
\a0x07Bell oder Alert
\b0x08Backspace
\cx Control-x
\C-x Control-x
\e0x1bEscape
\f0x0cFormfeed
\M-\C-x Meta-Control-x
\n0x0aNeue Zeile (Newline)
\nnn Oktalnotation, n im Bereich 0-7
\r0x0dWagenrücklauf (Carriage Return)
\s0x20Leerzeichen (Space)
\t0x09Tabulator (Tab)
\v0x0bVertikaler Tab
\x Zeichen x
\xnn Hexadezimalnotation, n im Bereich 0-9, a-f, A-F

String-Spezialoperatoren

Angenommen, String-Variable a hält 'Hello' und Variable b hält 'Python':

OperatorBeschreibungBeispiel
+Konkatenation – Fügt Werte auf beiden Seiten zusammen.a + b ergibt HelloPython
*Wiederholung – Erstellt neue Strings durch mehrfaches Konkatenieren desselben Strings.a*2 ergibt HelloHello
[]Slice – Gibt das Zeichen am gegebenen Index zurück.a[1] ergibt e
[ : ]Range Slice – Gibt Zeichen im gegebenen Bereich zurück.a[1:4] ergibt ell
inMitgliedschaft – Gibt true zurück, wenn Zeichen im String existiert.H in a ergibt 1
not inMitgliedschaft – Gibt true zurück, wenn Zeichen nicht im String existiert.M not in a ergibt 1
r/RRaw String – Unterdrückt die Bedeutung von Escape-Zeichen. Syntax wie normale Strings, aber mit vorangestelltem 'r' oder 'R' vor den Anführungszeichen.print r'\n' druckt \n
%Formatierung – Führt String-Formatierung durch.Siehe nächsten Abschnitt

String-Formatierungsoperator

Eine der coolsten Python-Funktionen ist der String-Formatierungsoperator %. Dieser Operator ist einzigartig für Strings und kompensiert das Fehlen von Funktionen aus C's printf()-Familie. Ein einfaches Beispiel:

#!/usr/bin/python
print "My name is %s and weight is %d kg!" % ('Zara', 21)

Wenn der obige Code ausgeführt wird, erzeugt er folgendes Ergebnis:

My name is Zara and weight is 21 kg!

Hier ist die vollständige Liste der Symbole, die mit % verwendet werden können:

Format-SymbolKonvertierung
%cZeichen
%sString-Konvertierung via str() vor Formatierung
%iVorzeichenbehaftete Dezimalzahl
%dVorzeichenbehaftete Dezimalzahl
%uVorzeichenlose Dezimalzahl
%oOktale Ganzzahl
%xHexadezimale Ganzzahl (Kleinbuchstaben)
%XHexadezimale Ganzzahl (GROSSBUCHSTABEN)
%eExponentialnotation (mit kleinem 'e')
%EExponentialnotation (mit GROSSem 'E')
%fGleitkommazahl
%gKürzeres von %f und %e
%GKürzeres von %f und %E

Weitere unterstützte Symbole und Funktionalitäten:

SymbolFunktionalität
*Argument spezifiziert Breite oder Präzision
-Linksbündige Ausrichtung
+Vorzeichen anzeigen
<sp>Leerzeichen vor positiver Zahl
#Fügt oktale führende Null ('0') oder hexadezimale führende '0x'/'0X' hinzu
0Links mit Nullen auffüllen (statt Leerzeichen)
%'%%' ergibt ein einzelnes literales '%'
(var)Mapping-Variable (Dictionary-Argumente)
m.nm = minimale Gesamtbreite, n = Stellen nach Dezimalpunkt (falls anwendbar)

Triple Quotes (Dreifache Anführungszeichen)

Pythons dreifache Anführungszeichen ermöglichen Strings, die sich über mehrere Zeilen erstrecken, einschließlich verbatim NEWLINEs, TABs und anderen Sonderzeichen.

Die Syntax besteht aus drei aufeinanderfolgenden einfachen oder doppelten Anführungszeichen.

#!/usr/bin/python
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, erzeugt er folgendes Ergebnis. Beachten Sie, wie jedes einzelne Sonderzeichen in seine gedruckte Form umgewandelt wurde, bis hin zum letzten NEWLINE am Ende des Strings zwischen "up." und den schließenden dreifachen Anführungszeichen. NEWLINEs treten entweder mit explizitem Zeilenende oder Escape-Code (\n) auf:

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.

Raw Strings behandeln den Backslash überhaupt nicht als Sonderzeichen. Jedes Zeichen, das Sie in einen Raw String einfügen, bleibt so, wie Sie es geschrieben haben:

#!/usr/bin/python
print 'C:\\nowhere'

Ergebnis:

C:\nowhere

Jetzt nutzen wir Raw Strings. Wir setzen den Ausdruck in r'expression':

#!/usr/bin/python
print r'C:\\nowhere'

Ergebnis:

C:\\nowhere

Unicode Strings

Normale Strings in Python werden intern als 8-bit ASCII gespeichert, während Unicode-Strings als 16-bit Unicode gespeichert werden. Dies ermöglicht einen vielfältigeren Zeichensatz, einschließlich Sonderzeichen aus den meisten Sprachen der Welt. Beispiel:

#!/usr/bin/python
print u'Hello, world!'

Ergebnis:

Hello, world!

Wie Sie sehen, verwenden Unicode-Strings das Präfix u, genau wie Raw Strings das Präfix r verwenden.

Eingebaute String-Methoden

Python enthält folgende eingebaute Methoden zur String-Manipulation:

Nr.Methode & Beschreibung
1capitalize() – Erster Buchstabe großschreiben
2center(width, fillchar) – String zentriert in width Spalten mit Füllzeichen
3count(str, beg=0, end=len(string)) – Zählt Vorkommen von str
4decode(encoding='UTF-8', errors='strict') – Dekodiert String mit Codec
5encode(encoding='UTF-8', errors='strict') – Kodiert String; bei Fehler ValueError außer ignore/replace
6endswith(suffix, beg=0, end=len(string)) – Prüft, ob String mit Suffix endet
7expandtabs(tabsize=8) – Erweitert Tabs zu Leerzeichen (Standard 8)
8find(str, beg=0, end=len(string)) – Findet str, gibt Index oder -1 zurück
9index(str, beg=0, end=len(string)) – Wie find(), aber Exception wenn nicht gefunden
10isalnum() – True wenn mind. 1 Zeichen und alle alphanumerisch
11isalpha() – True wenn mind. 1 Zeichen und alle alphabetic
12isdigit() – True wenn nur Ziffern
13islower() – True wenn mind. 1 cased char und alle lowercase
14isnumeric() – True wenn Unicode-String nur numerische Zeichen
15isspace() – True wenn nur Whitespace-Zeichen
16istitle() – True wenn korrekt "titlecased"
17isupper() – True wenn mind. 1 cased char und alle uppercase
18join(seq) – Verbindet String-Repräsentationen von Elementen in seq mit Separator
19len(string) – Gibt String-Länge zurück
20ljust(width[, fillchar]) – Links ausgerichtet mit Padding auf width Spalten
21lower() – Konvertiert Großbuchstaben zu Kleinbuchstaben
22lstrip() – Entfernt führende Whitespaces
23maketrans() – Erstellt Übersetzungstabelle für translate
24max(str) – Maximaler alphabetischer Zeichen aus String
25min(str) – Minimaler alphabetischer Zeichen aus String
26replace(old, new[, max]) – Ersetzt old durch new (max-mal wenn angegeben)
27rfind(str, beg=0, end=len(string)) – Wie find(), aber rückwärts suchen
28rindex(str, beg=0, end=len(string)) – Wie index(), aber rückwärts suchen
29rjust(width[, fillchar]) – Rechts ausgerichtet mit Padding auf width Spalten
30rstrip() – Entfernt nachfolgende Whitespaces
31split(str="", num=string.count(str)) – Teilt String nach Delimiter str (Space default)
32splitlines(num=string.count('\n')) – Teilt an NEWLINEs, gibt Liste der Zeilen ohne NEWLINEs
33startswith(str, beg=0, end=len(string)) – Prüft, ob String mit Substring str beginnt
34strip([chars]) – Führt lstrip() und rstrip() aus
35swapcase() – Kehrt Groß-/Kleinschreibung aller Buchstaben um
36title() – "Titlecased" Version: jedes Wort beginnt groß, Rest klein
37translate(table, deletechars="") – Übersetzt nach Tabelle (256 chars), entfernt del-Zeichen
38upper() – Konvertiert Kleinbuchstaben zu Großbuchstaben
39zfill(width) – Links mit Nullen auffüllen auf width Zeichen; für Zahlen, behält Vorzeichen
40isdecimal() – True wenn Unicode-String nur Dezimalzeichen

Python

  1. C# Strings meistern: Grundlagen, Operationen & fortgeschrittene Techniken
  2. Python-Operatoren meistern: Umfassender Leitfaden
  3. Python-Dictionaries meistern: Erstellung, Manipulation und fortgeschrittene Techniken
  4. Python String-Operationen meistern: Replace, Join, Split, Reverse und Case Conversion
  5. Pythons strip()-Methode meistern: Umfassender Leitfaden & Praxisbeispiele
  6. Pythons str.count(): Zeichen & Teilstrings zählen mit Beispielen
  7. Python format()-Strings meistern mit klaren Beispielen
  8. Python len(): Praktischer Leitfaden zur Messung von Objektlängen
  9. Pythons String.find()-Methode meistern: Syntax, Beispiele & Alternativen
  10. Pythons enumerate() meistern: Schleifen mit Indizes für Listen, Tupel, Strings und Dictionaries