Wie man String und Int in Python verknüpft
Einleitung
Python unterstützt die Verkettung von Strings mit dem +
-Operator. In den meisten anderen Programmiersprachen wird ein String automatisch mit einer Ganzzahl (oder anderen primitiven Datentypen) verknüpft, indem die Sprache diese in einen String umwandelt, die Typenkonvertierung intern durchführt und dann verknüpft, ohne zusätzliche Schritte vom Entwickler zu erfordern.
In Python führt der Versuch, einen String mit einer Ganzzahl über den +
-Operator zu verknüpfen, jedoch zu einem Laufzeitfehler.
Beispiel
Schauen wir uns ein Beispiel für die Verkettung eines Strings (str
) und einer Ganzzahl (int
) mit dem +
-Operator an.
string_concat_int.py
current_year_message = 'Year is '
current_year = 2018
print(current_year_message + current_year)
Die gewünschte Ausgabe ist der String: Year is 2018
. Wenn wir diesen Code jedoch 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 kann man also str
und int
in Python verknüpfen? Es gibt verschiedene andere Möglichkeiten, um diese Operation durchzuführen.
Voraussetzungen für String und Int in Python
Um dieses Tutorial abzuschließen, benötigen Sie:
- Vertrautheit mit der Installation von Python 3 und Programmierung in Python. Siehe die Serie Wie man in Python 3 programmiert oder verwenden Sie VS Code für Python.
- Dieses Tutorial wurde mit Python 3.9.6 getestet.
Verwendung der str()
-Funktion für String und Int in Python
Wir können eine Ganzzahl (int
) an die str()
-Funktion übergeben, und sie wird in einen String (str
) umgewandelt:
print(current_year_message + str(current_year))
Die Ganzzahl current_year
wird als String zurückgegeben: Year is 2018
.
Verwendung des %
-Interpolationsoperators für String und Int in Python
Wir können Werte mithilfe des printf-ähnlichen String-Formatierungsstils an eine Konvertierungsspezifikation übergeben:
print("%s%s" % (current_year_message, current_year))
Die Ganzzahl current_year
wird als String interpoliert: Year is 2018
.
Verwendung der str.format()
-Funktion
Wir können auch die str.format()
-Funktion zur Verkettung von String und Ganzzahl verwenden:
print("{}{}".format(current_year_message, current_year))
Die Ganzzahl current_year
wird in einen String umgewandelt: Year is 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 als String interpoliert: Year is 2018
.
Fazit
Sie können das vollständige Python-Skript sowie zahlreiche weitere hilfreiche Python-Beispiele, Tutorials und praktische Anleitungen in unserem GitHub-Repository einsehen, um Ihr Wissen zu erweitern und Ihre Fähigkeiten zu verbessern.