Python-Stringverkettung

0 Aktien
0
0
0
0

Einführung

Die Verkettung von Zeichenketten ist eine sehr häufige Operation in der Programmierung. In Python gibt es verschiedene Methoden zur Zeichenkettenverkettung. Ziel dieses Tutorials ist es, die unterschiedlichen Möglichkeiten der Zeichenkettenverkettung in einem Python-Programm zu untersuchen.

Zeichenkettenverkettung mit dem + Operator

Dies ist die einfachste Methode, Zeichenketten zu verketten. Schauen wir uns ein einfaches Beispiel an.

s1 = 'Apple'
s2 = 'Pie'
s3 = 'Sauce'
s4 = s1 + s2 + s3
print(s4)

Ausgabe:  Apfelkuchensauce Betrachten wir ein weiteres Beispiel, bei dem wir zwei Zeichenketten von der Benutzereingabe erhalten und diese verketten.

s1 = input('Please enter the first string:\n')
s2 = input('Please enter the second string:\n')
print('Concatenated String =', s1 + s2)

Ausgabe:

Please enter the first string:
Hello
Please enter the second string:
World
Concatenated String = HelloWorld

Mit dem Operator + lassen sich Zeichenketten sehr einfach verketten. Allerdings müssen die Argumente selbst Zeichenketten sein.

>>>'Hello' + 4
Traceback (most recent call last):
File "<input>", line 1, in 
TypeError: can only concatenate str (not "int") to str

Mit der Funktion `str()` erhalten wir die String-Repräsentation eines Objekts. Schauen wir uns an, wie man einen String mit einer Ganzzahl oder einem anderen Objekt verknüpft.

print('Hello' + str(4))
class Data:
id = 0
def __init__(self, i):
self.id = i
def __str__(self):
return 'Data[' + str(self.id) + ']'
print('Hello ' + str(Data(10)))

Ausgabe:

Hello4
Hello Data[10]

Das größte Problem mit dem +-Operator ist, dass man kein Trennzeichen zwischen Zeichenketten einfügen kann. Wenn man beispielsweise “Hello” und “World” mit einem Leerzeichen als Trennzeichen verketten möchte, muss man es so schreiben: ""Hallo" + " " + "Welt"" Lasst uns schreiben.

Verknüpfen von Zeichenketten mithilfe der join()-Funktion

Mit der Funktion `join()` können wir Zeichenketten mit einem Trennzeichen verknüpfen. Dies ist hilfreich bei einer Folge von Zeichenketten, beispielsweise einer Liste oder mehreren verschachtelten Zeichenketten. Wenn Sie kein Trennzeichen benötigen, verwenden Sie die Funktion `join()` mit einer leeren Zeichenkette.

s1 = 'Hello'
s2 = 'World'
print('Concatenated String using join() =', "".join([s1, s2]))
print('Concatenated String using join() and whitespaces =', " ".join([s1, s2]))

Ausgabe:

Concatenated String using join() = HelloWorld
Concatenated String using join() and spaces = Hello World

Verketten von Zeichenketten mithilfe des %-Operators

Mit dem %-Operator lassen sich Zeichenketten formatieren und auch verketten. Er ist nützlich, wenn man Zeichenketten verketten und einfache Formatierungen vornehmen möchte.

s1 = 'Hello'
s2 = 'World'
s3 = "%s %s" % (s1, s2)
print('String Concatenation using % Operator =', s3)
s3 = "%s %s from JournalDev - %d" % (s1, s2, 2018)
print('String Concatenation using % Operator with Formatting =', s3)

Ausgabe:

String Concatenation using % Operator = Hello World
String Concatenation using % Operator with Formatting = Hello World from JournalDev - 2018

Verketten von Zeichenketten mithilfe der Funktion format()

Wir können auch die Funktion `string format()` verwenden, um Zeichenketten zu verketten und zu formatieren.

s1 = 'Hello'
s2 = 'World'
s3 = "{}-{}".format(s1, s2)
print('String Concatenation using format() =', s3)
s3 = "{in1} {in2}".format(in1=s1, in2=s2)
print('String Concatenation using format() =', s3)

Ausgabe:

String Concatenation using format() = Hello-World
String Concatenation using format() = Hello World

Die Python-Funktion `String format()` ist sehr mächtig; sie nur zum Verketten von Zeichenketten zu verwenden, ist nicht der richtige Zweck.

Zeichenkettenverkettung mit der Zeichenkette f

Ab Python 3.6 können Sie auch `f-string` zum Verketten von Zeichenketten verwenden. Dies ist eine neue Methode zur Formatierung von Zeichenketten und wurde in PEP 498 – Literal String Interpolation eingeführt.

s1 = 'Hello'
s2 = 'World'
s3 = f'{s1} {s2}'
print('String Concatenation using f-string =', s3)
name = 'Pankaj'
age = 34
d = Data(10)
print(f'{name} age is {age} and d={d}')

Ausgabe:

String Concatenation using f-string = Hello World
Pankaj age is 34 and d=Data[10]

Die f-String-Funktion in Python ist übersichtlicher und einfacher zu schreiben als die format()-Funktion. Sie ruft außerdem die str()-Funktion auf, wenn das Objektargument als Feldersetzung verwendet wird.

Ergebnis

In Python gibt es verschiedene Möglichkeiten zur Stringformatierung. Wählen Sie die Methode, die Ihren Bedürfnissen entspricht. Um eine Folge von Strings mit einem Trennzeichen zu verketten, verwenden Sie die Funktion `join()`. Soll die Verkettung zusätzlich formatiert werden, verwenden Sie die Funktion `format()` oder `f-string`. Beachten Sie, dass `f-string` erst ab Python-Version 3.6 verfügbar ist.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Das könnte Ihnen auch gefallen