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

Python-Strings

Python-Strings

In diesem Tutorial lernen Sie, Strings in Python zu erstellen, zu formatieren, zu ändern und zu löschen. Außerdem werden Sie in verschiedene Zeichenfolgenoperationen und -funktionen eingeführt.

Video:Python-Strings

Was ist String in Python?

Ein String ist eine Folge von Zeichen.

Ein Zeichen ist einfach ein Symbol. Die englische Sprache hat beispielsweise 26 Zeichen.

Computer arbeiten nicht mit Zeichen, sondern mit Zahlen (binär). Auch wenn Sie möglicherweise Zeichen auf Ihrem Bildschirm sehen, werden diese intern als Kombination aus 0 und 1 gespeichert und bearbeitet.

Diese Umwandlung eines Zeichens in eine Zahl wird als Codierung bezeichnet, und der umgekehrte Prozess wird als Decodierung bezeichnet. ASCII und Unicode sind einige der am häufigsten verwendeten Kodierungen.

In Python ist ein String eine Folge von Unicode-Zeichen. Unicode wurde eingeführt, um jedes Zeichen in allen Sprachen einzubeziehen und eine einheitliche Codierung zu erreichen. Sie können Unicode von Python Unicode lernen.


Wie erstelle ich eine Zeichenfolge in Python?

Zeichenfolgen können erstellt werden, indem Zeichen in einfache oder doppelte Anführungszeichen gesetzt werden. Sogar dreifache Anführungszeichen können in Python verwendet werden, werden aber im Allgemeinen verwendet, um mehrzeilige Zeichenfolgen und Dokumentzeichenfolgen darzustellen.

# defining strings in Python
# all of the following are equivalent
my_string = 'Hello'
print(my_string)

my_string = "Hello"
print(my_string)

my_string = '''Hello'''
print(my_string)

# triple quotes string can extend multiple lines
my_string = """Hello, welcome to
           the world of Python"""
print(my_string)

Wenn Sie das Programm ausführen, lautet die Ausgabe:

Hello
Hello
Hello
Hello, welcome to
           the world of Python

Wie greife ich auf Zeichen in einer Zeichenfolge zu?

Wir können auf einzelne Zeichen mit Indizierung und auf eine Reihe von Zeichen mit Slicing zugreifen. Der Index beginnt bei 0. Der Versuch, auf ein Zeichen außerhalb des Indexbereichs zuzugreifen, löst ein IndexError aus . Der Index muss eine ganze Zahl sein. Wir können keine Gleitkommazahlen oder andere Typen verwenden, dies führt zu TypeError .

Python erlaubt negative Indizierung für seine Sequenzen.

Der Index von -1 bezieht sich auf das letzte Element, -2 bis zum vorletzten Element und so weiter. Wir können auf eine Reihe von Elementen in einer Zeichenfolge zugreifen, indem wir den Slicing-Operator : verwenden (Doppelpunkt).

#Accessing string characters in Python
str = 'programiz'
print('str = ', str)

#first character
print('str[0] = ', str[0])

#last character
print('str[-1] = ', str[-1])

#slicing 2nd to 5th character
print('str[1:5] = ', str[1:5])

#slicing 6th to 2nd last character
print('str[5:-2] = ', str[5:-2])

Wenn wir das obige Programm ausführen, erhalten wir die folgende Ausgabe:

str =  programiz
str[0] =  p
str[-1] =  z
str[1:5] =  rogr
str[5:-2] =  am

Wenn wir versuchen, auf einen Index außerhalb des Bereichs zuzugreifen oder andere Zahlen als Ganzzahlen verwenden, erhalten wir Fehler.

# index must be in range
>>> my_string[15]  
...
IndexError: string index out of range

# index must be an integer
>>> my_string[1.5] 
...
TypeError: string indices must be integers

Slicing kann am besten visualisiert werden, indem man sich den Index als zwischen den Elementen befindet, wie unten gezeigt.

Wenn wir auf einen Bereich zugreifen wollen, brauchen wir den Index, der den Teil aus der Zeichenfolge herausschneidet.


Wie ändere oder lösche ich eine Zeichenfolge?

Strings sind unveränderlich. Das bedeutet, dass einmal zugewiesene Elemente eines Strings nicht mehr verändert werden können. Wir können einfach verschiedene Zeichenfolgen demselben Namen zuweisen.

>>> my_string = 'programiz'
>>> my_string[5] = 'a'
...
TypeError: 'str' object does not support item assignment
>>> my_string = 'Python'
>>> my_string
'Python'

Wir können keine Zeichen aus einer Zeichenfolge löschen oder entfernen. Das vollständige Löschen des Strings ist jedoch mit del möglich Schlüsselwort.

>>> del my_string[1]
...
TypeError: 'str' object doesn't support item deletion
>>> del my_string
>>> my_string
...
NameError: name 'my_string' is not defined

Python-String-Operationen

Es gibt viele Operationen, die mit Strings durchgeführt werden können, was ihn zu einem der am häufigsten verwendeten Datentypen in Python macht.

Um mehr über die in Python verfügbaren Datentypen zu erfahren, besuchen Sie:Python-Datentypen

Verkettung von zwei oder mehr Strings

Das Verbinden von zwei oder mehr Strings zu einem einzigen wird als Verkettung bezeichnet.

Das + Operator tut dies in Python. Einfach zwei String-Literale zusammen zu schreiben, verkettet sie auch.

Das * -Operator kann verwendet werden, um die Zeichenfolge eine bestimmte Anzahl von Malen zu wiederholen.

# Python String Operations
str1 = 'Hello'
str2 ='World!'

# using +
print('str1 + str2 = ', str1 + str2)

# using *
print('str1 * 3 =', str1 * 3)

Wenn wir das obige Programm ausführen, erhalten wir die folgende Ausgabe:

str1 + str2 =  HelloWorld!
str1 * 3 = HelloHelloHello

Wenn Sie zwei Zeichenfolgenliterale zusammen schreiben, werden sie auch wie + verkettet Betreiber.

Wenn wir Strings in verschiedenen Zeilen verketten wollen, können wir Klammern verwenden.

>>> # two string literals together
>>> 'Hello ''World!'
'Hello World!'

>>> # using parentheses
>>> s = ('Hello '
...      'World')
>>> s
'Hello World'

Einen String durchlaufen

Wir können einen String mit einer for-Schleife durchlaufen. Hier ist ein Beispiel, um die Anzahl der 'l's in einer Zeichenkette zu zählen.

# Iterating through a string
count = 0
for letter in 'Hello World':
    if(letter == 'l'):
        count += 1
print(count,'letters found')

Wenn wir das obige Programm ausführen, erhalten wir die folgende Ausgabe:

3 letters found

String-Zugehörigkeitstest

Mit dem Schlüsselwort in können wir testen, ob ein Teilstring innerhalb eines Strings existiert oder nicht .

>>> 'a' in 'program'
True
>>> 'at' not in 'battle'
False

Integrierte Funktionen zum Arbeiten mit Python

Verschiedene eingebaute Funktionen, die mit Sequenzen arbeiten, funktionieren auch mit Strings.

Einige der am häufigsten verwendeten sind enumerate() und len() . Die enumerate() Die Funktion gibt ein Aufzählungsobjekt zurück. Es enthält den Index und den Wert aller Elemente in der Zeichenfolge als Paare. Dies kann für Iterationen nützlich sein.

Ebenso len() gibt die Länge (Anzahl der Zeichen) des Strings zurück.

str = 'cold'

# enumerate()
list_enumerate = list(enumerate(str))
print('list(enumerate(str) = ', list_enumerate)

#character count
print('len(str) = ', len(str))

Wenn wir das obige Programm ausführen, erhalten wir die folgende Ausgabe:

list(enumerate(str) =  [(0, 'c'), (1, 'o'), (2, 'l'), (3, 'd')]
len(str) =  4

Python-String-Formatierung

Escape-Sequenz

Wenn wir einen Text wie Er sagte:"Was ist da?" drucken wollen , können wir weder einfache noch doppelte Anführungszeichen verwenden. Dies führt zu einem SyntaxError da der Text selbst sowohl einfache als auch doppelte Anführungszeichen enthält.

>>> print("He said, "What's there?"")
...
SyntaxError: invalid syntax
>>> print('He said, "What's there?"')
...
SyntaxError: invalid syntax

Eine Möglichkeit, dieses Problem zu umgehen, besteht darin, dreifache Anführungszeichen zu verwenden. Alternativ können wir Escape-Sequenzen verwenden.

Eine Escape-Sequenz beginnt mit einem Backslash und wird anders interpretiert. Wenn wir ein einfaches Anführungszeichen verwenden, um eine Zeichenfolge darzustellen, müssen alle einfachen Anführungszeichen innerhalb der Zeichenfolge maskiert werden. Ähnlich verhält es sich mit doppelten Anführungszeichen. So kann der obige Text dargestellt werden.

# using triple quotes
print('''He said, "What's there?"''')

# escaping single quotes
print('He said, "What\'s there?"')

# escaping double quotes
print("He said, \"What's there?\"")

Wenn wir das obige Programm ausführen, erhalten wir die folgende Ausgabe:

He said, "What's there?"
He said, "What's there?"
He said, "What's there?"

Hier ist eine Liste aller Escape-Sequenzen, die von Python unterstützt werden.

Escape-Sequenz Beschreibung
\newline Backslash und Newline werden ignoriert
\\ Backslash
\' Einfaches Anführungszeichen
\" Doppeltes Anführungszeichen
\a ASCII-Glocke
\b ASCII-Rücktaste
\f ASCII-Formularvorschub
\n ASCII-Zeilenvorschub
\r ASCII-Wagenrücklauf
\t ASCII horizontaler Tabulator
\v vertikaler ASCII-Tabulator
\ooo Zeichen mit Oktalwert ooo
\xHH Zeichen mit Hexadezimalwert HH

Hier sind einige Beispiele

>>> print("C:\\Python32\\Lib")
C:\Python32\Lib

>>> print("This is printed\nin two lines")
This is printed
in two lines

>>> print("This is \x48\x45\x58 representation")
This is HEX representation

Raw String zum Ignorieren der Escape-Sequenz

Manchmal möchten wir vielleicht die Escape-Sequenzen innerhalb einer Zeichenfolge ignorieren. Dazu können wir r platzieren oder R vor der Saite. Dies impliziert, dass es sich um eine unformatierte Zeichenfolge handelt und jegliche darin enthaltene Escape-Sequenz ignoriert wird.

>>> print("This is \x61 \ngood example")
This is a
good example
>>> print(r"This is \x61 \ngood example")
This is \x61 \ngood example

Die format()-Methode zum Formatieren von Zeichenfolgen

Die format() Die mit dem String-Objekt verfügbare Methode ist sehr vielseitig und leistungsfähig beim Formatieren von Strings. Formatzeichenfolgen enthalten geschweifte Klammern {} als Platzhalter oder Ersatzfelder, die ersetzt werden.

Wir können Positionsargumente oder Schlüsselwortargumente verwenden, um die Reihenfolge anzugeben.

# Python string format() method

# default(implicit) order
default_order = "{}, {} and {}".format('John','Bill','Sean')
print('\n--- Default Order ---')
print(default_order)

# order using positional argument
positional_order = "{1}, {0} and {2}".format('John','Bill','Sean')
print('\n--- Positional Order ---')
print(positional_order)

# order using keyword argument
keyword_order = "{s}, {b} and {j}".format(j='John',b='Bill',s='Sean')
print('\n--- Keyword Order ---')
print(keyword_order)

Wenn wir das obige Programm ausführen, erhalten wir die folgende Ausgabe:

--- Default Order ---
John, Bill and Sean

--- Positional Order ---
Bill, John and Sean

--- Keyword Order ---
Sean, Bill and John

Die format() Methode kann optionale Formatspezifikationen haben. Sie werden durch Doppelpunkt vom Feldnamen getrennt. Zum Beispiel können wir < linksbündig ausrichten , rechtsbündig ausrichten > oder zentrieren Sie ^ eine Zeichenfolge im angegebenen Leerzeichen.

Wir können auch ganze Zahlen binär, hexadezimal usw. formatieren und Floats können gerundet oder im Exponentenformat angezeigt werden. Es gibt unzählige Formatierungen, die Sie verwenden können. Hier finden Sie alle Zeichenfolgenformatierungen, die mit format() verfügbar sind Methode.

>>> # formatting integers
>>> "Binary representation of {0} is {0:b}".format(12)
'Binary representation of 12 is 1100'

>>> # formatting floats
>>> "Exponent representation: {0:e}".format(1566.345)
'Exponent representation: 1.566345e+03'

>>> # round off
>>> "One third is: {0:.3f}".format(1/3)
'One third is: 0.333'

>>> # string alignment
>>> "|{:<10}|{:^10}|{:>10}|".format('butter','bread','ham')
'|butter    |  bread   |       ham|'

Alte Formatierung

Wir können sogar Strings wie den alten sprintf() formatieren Stil, der in der Programmiersprache C verwendet wird. Wir verwenden den % Operator, um dies zu erreichen.

>>> x = 12.3456789
>>> print('The value of x is %3.2f' %x)
The value of x is 12.35
>>> print('The value of x is %3.4f' %x)
The value of x is 12.3457

Gängige Python-String-Methoden

Für das String-Objekt stehen zahlreiche Methoden zur Verfügung. Die format() Methode, die wir oben erwähnt haben, ist eine davon. Einige der am häufigsten verwendeten Methoden sind lower() , upper() , join() , split() , find() , replace() usw. Hier ist eine vollständige Liste aller eingebauten Methoden, um mit Strings in Python zu arbeiten.

>>> "PrOgRaMiZ".lower()
'programiz'
>>> "PrOgRaMiZ".upper()
'PROGRAMIZ'
>>> "This will split all words into a list".split()
['This', 'will', 'split', 'all', 'words', 'into', 'a', 'list']
>>> ' '.join(['This', 'will', 'join', 'all', 'words', 'into', 'a', 'string'])
'This will join all words into a string'
>>> 'Happy New Year'.find('ew')
7
>>> 'Happy New Year'.replace('Happy','Brilliant')
'Brilliant New Year'

Python

  1. C#-String
  2. Python-Wörterbuch
  3. Java-Strings
  4. Java-Enum-Strings
  5. Python-Strings:Ersetzen, Verbinden, Teilen, Umkehren, Groß- und Kleinbuchstaben
  6. Python String strip() Funktion mit BEISPIEL
  7. Python String count() mit BEISPIELE
  8. Python String format() Erklären Sie mit BEISPIELE
  9. Länge der Python-Zeichenfolge | len() Methode Beispiel
  10. Python String find() Methode mit Beispielen