Wie man in Python String und Integer konkateniert

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.

string_concat_int.py
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:

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