Website-Suche

Python-Stringverkettung


String-Verkettung ist eine sehr häufige Operation in der Programmierung. Die Verkettung von Strings in Python kann auf verschiedene Weise erfolgen. Dieses Tutorial soll verschiedene Möglichkeiten erkunden, um Strings in einem Python-Programm zu verketten.

Wir können die Verkettung von Zeichenfolgen auf folgende Weise durchführen:

  • Verwendung des + Operators
  • Verwendung der Methode join()
  • Verwendung des % Operators
  • Verwendung der format()-Funktion
  • Verwendung von f-Strings (Wörtliche Zeichenfolgeninterpolation)

Stringverkettung mit dem + Operator

Dies ist die einfachste Methode zur Verkettung von Strings. Lassen Sie uns ein einfaches Beispiel betrachten.

s1 = 'Apple'
s2 = 'Pie'
s3 = 'Sauce'

s4 = s1 + s2 + s3

print(s4)

Ausgabe: Apfelkuchensoße Lassen Sie uns ein weiteres Beispiel betrachten, in dem wir zwei Strings von der Benutzereingabe erhalten und sie concatenieren.

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

Es ist sehr einfach, den + Operator zur Verkettung von Strings zu verwenden. Die Argumente müssen jedoch ein String sein.

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

Wir können die str()-Funktion verwenden, um die String-Darstellung eines Objekts zu erhalten. Lassen Sie uns sehen, wie man einen String mit einer Ganzzahl oder einem anderen Objekt verkettet.

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 besteht darin, dass wir keinen Separator oder Delimiter zwischen den Zeichenfolgen hinzufügen können. Wenn wir beispielsweise "Hallo " und "Welt " mit einem Leerzeichen als Separator zusammenfügen müssen, müssen wir es als "Hallo" + " " + "Welt" schreiben.

Stringverkettung mit der join()-Funktion

Wir können die Funktion join() verwenden, um Strings mit einem Trennzeichen zu verketten. Es ist nützlich, wenn wir eine Folge von Strings haben, zum Beispiel eine Liste oder ein Tupel von Strings. Wenn Sie kein Trennzeichen möchten, 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

Stringverkettung mit dem % Operator

Wir können den % Operator zur Formatierung von Strings verwenden, er kann auch zur String-Verkettung eingesetzt werden. Es ist nützlich, wenn wir Strings verketten und einfache Formatierungen durchführen möchten.

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

Stringverkettung mit der format()-Funktion

Wir können die Funktion format() für die Zeichenfolgenverkettung und -formatierung verwenden.

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 format() Funktion von Python-Strings ist sehr mächtig; sie nur zur Verkettung von Strings zu verwenden, ist nicht ihr richtiger Einsatz.

Stringverkettung mit f-Strings

Wenn Sie Python 3.6 oder höher verwenden, können Sie auch f-Strings zur Verkettung von Zeichenfolgen verwenden. Es ist eine neue Methode zur Formatierung von Zeichenfolgen, die in PEP 498 - Literal String Interpolation eingeführt wurde.

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]

Python f-String ist sauberer und einfacher zu schreiben im Vergleich zur format() Funktion. Es ruft auch die str() Funktion auf, wenn ein Objektargument als Feldersatz verwendet wird.

Schlussfolgerung

Python-String-Formatierung kann auf verschiedene Weise erfolgen. Verwenden Sie sie basierend auf Ihren Anforderungen. Wenn Sie eine Folge von Zeichenfolgen mit einem Trennzeichen verketten müssen, verwenden Sie die join()-Funktion. Wenn auch eine Formatierung zusammen mit der Verkettung erforderlich ist, verwenden Sie die format()-Funktion oder f-Strings. Beachten Sie, dass f-Strings nur mit Python-Versionen 3.6 oder höher verwendet werden können. Sie können auch mehr über die Verkettung von Python-Listen lernen.