Einführung
Python unterstützt die Zeichenkettenverkettung mithilfe des +
-Operators. In den meisten anderen Programmiersprachen kümmert sich die Sprache beim Verketten einer Zeichenkette mit einem Integer (oder einem anderen primitiven Datentyp) darum, sie in eine Zeichenkette umzuwandeln und sie dann zu verketten.
In Python erhalten Sie jedoch zur Laufzeit einen Fehler, wenn Sie versuchen, eine Zeichenkette mit einem Integer mithilfe des +
-Operators zu verketten.
Beispiel
Werfen wir einen Blick auf ein Beispiel für die Verkettung einer Zeichenkette (str
) und eines Integers (int
) mithilfe des +
-Operators.
current_year_message = 'Year is '
current_year = 2018
print(current_year_message + current_year)
Die gewünschte Ausgabe ist die Zeichenkette: Jahr ist 2018
. Wenn wir jedoch diesen Code ausführen, erhalten wir den folgenden Laufzeitfehler:
Traceback (most recent call last):
File "/Users/sammy/Documents/github/journaldev/Python-3/basic_examples/strings/string_concat_int.py", line 5, in <module>
print(current_year_message + current_year)
TypeError: can only concatenate str (not "int") to str
Wie können Sie also str
und int
in Python verketteten? Es gibt verschiedene andere Möglichkeiten, diese Operation auszuführen.
Voraussetzungen
Um dieses Tutorial abzuschließen, benötigen Sie:
- Vertrautheit mit der Installation von Python 3. Und Vertrautheit mit dem Programmieren in Python. Wie man in Python 3 kodiert oder die Verwendung von VS Code für Python.
Dieses Tutorial wurde mit Python 3.9.6 getestet.
Verwendung der Funktion str()
Wir können einem int
die str()
-Funktion übergeben, es wird zu einem str
konvertiert:
print(current_year_message + str(current_year))
Der Integer current_year
wird als Zeichenkette zurückgegeben: Jahr ist 2018
.
Verwendung des Interpolationsoperators %
Wir können Werte mit printf-Style-String-Formatierung an eine Konvertierungsspezifikation übergeben:
print("%s%s" % (current_year_message, current_year))
Der Integer current_year
wird zu einer Zeichenkette interpoliert: Jahr ist 2018
.
Verwendung der Funktion str.format()
Wir können auch die Funktion str.format()
zur Verkettung von Zeichenketten und Ganzzahlen verwenden.
print("{}{}".format(current_year_message, current_year))
Die Ganzzahl current_year
wird zu einem String umgewandelt: Jahr ist 2018
.
Verwendung von f-Strings
Wenn Sie Python 3.6 oder höhere Versionen verwenden, können Sie auch f-Strings verwenden.
print(f'{current_year_message}{current_year}')
Die Ganzzahl current_year
wird zu einem String interpoliert: Jahr ist 2018
.
Schlussfolgerung
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-concatenate-string-and-int