String Concatenation ist eine sehr häufige Operation in der Programmierung. Python String Concatenation kann auf verschiedene Arten durchgeführt werden. Dieses Tutorial zielt darauf ab, verschiedene Möglichkeiten zur Zeichenkettenverkettung in einem Python-Programm zu erkunden.
Python String Concatenation
Wir können die Zeichenkettenverkettung auf folgende Weise durchführen:
- Verwendung des + Operators
- Verwendung der join() Methode
- Verwendung des % Operators
- Verwendung der format() Funktion
- Verwendung von f-String (Literal String Interpolation)
Zeichenkettenverkettung mit dem + Operator
Dies ist der einfachste Weg zur Zeichenkettenverkettung. Schauen wir uns ein einfaches Beispiel an.
s1 = 'Apple'
s2 = 'Pie'
s3 = 'Sauce'
s4 = s1 + s2 + s3
print(s4)
Ausgabe: Apfelkuchensauce
Schauen wir uns ein weiteres Beispiel an, in dem wir zwei Zeichenketten vom Benutzer eingeben und diese verkettet.
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 für die Zeichenkettenverkettung zu verwenden. Die Argumente müssen jedoch Zeichenketten 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 Zeichenfolgendarstellung eines Objekts zu erhalten. Schauen wir uns an, wie man eine Zeichenfolge an eine ganze Zahl oder ein anderes Objekt anhängt.
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 wir keinen Separator oder Trennzeichen zwischen Zeichenfolgen hinzufügen können. Zum Beispiel, wenn wir „Hallo“ und „Welt“ mit einem Leerzeichen als Trennzeichen verketten müssen, müssen wir es als "Hallo" + " " + "Welt"
schreiben.
Zeichenkettenverkettung mit der join() Funktion
Wir können die join() Funktion verwenden, um eine Zeichenfolge mit einem Separator zu verketten. Es ist nützlich, wenn wir eine Sequenz von Zeichenfolgen haben, zum Beispiel eine Liste oder ein Tupel von Zeichenfolgen. Wenn Sie keinen Separator möchten, verwenden Sie die join() Funktion mit einer leeren Zeichenfolge.
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
Zeichenkettenverkettung mit dem % Operator
Wir können den % Operator für die Formatierung von Zeichenketten verwenden; er kann auch für die Zeichenkettenverkettung verwendet werden. Es ist nützlich, wenn wir Zeichenketten 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)
Ergebnis:
String Concatenation using % Operator = Hello World
String Concatenation using % Operator with Formatting = Hello World from JournalDev - 2018
Zeichenkettenverkettung mit der format() Funktion
Wir können die String format() Funktion auch für die Zeichenkettenverkettung 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)
Ergebnis:
String Concatenation using format() = Hello-World
String Concatenation using format() = Hello World
Die Python String format() Funktion ist sehr leistungsstark; sie nur für die Verkettung von Zeichenketten zu verwenden, ist nicht ihre angemessene Verwendung.
Zeichenkettenverkettung mit f-String
Wenn Sie Python 3.6 oder höher verwenden, können Sie auch den f-String für die Zeichenkettenverkettung verwenden. Es ist eine neue Möglichkeit, Zeichenketten zu formatieren 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}')
Ergebnis:
String Concatenation using f-string = Hello World
Pankaj age is 34 and d=Data[10]
Der Python f-String ist sauberer und einfacher zu schreiben im Vergleich zur format() Funktion. Er ruft auch die str() Funktion auf, wenn ein Objektargument als Feldersatz verwendet wird.
Abschluss
Python-Stringformatierung kann auf verschiedene Arten durchgeführt werden. Verwenden Sie diese je nach Ihren Anforderungen. Wenn Sie eine Sequenz von Zeichenfolgen mit einem Trennzeichen verketten müssen, verwenden Sie die join()-Funktion. Wenn neben der Verkettung auch eine Formatierung erforderlich ist, verwenden Sie die format()-Funktion oder f-Strings. Beachten Sie, dass f-Strings ab Python 3.6 oder höheren Versionen verwendet werden können.
Sie können das vollständige Python-Skript und weitere Python-Beispiele aus unserem GitHub-Repository überprüfen.
Source:
https://www.digitalocean.com/community/tutorials/python-string-concatenation