veröffentlicht am: 14.04.2020 zuletzt aktualisiert am: 02.02.2023
Manchmal ist es nötig, in Programmen Texte auszugeben, welche unter anderem auch Zahlenwerte enthalten.Die beiden häufigsten Methoden hierfür sind die Funktion str sowie die format-Methode, über die jedes String-Objekt verfügt.Wir zeigen dir die gängigsten Möglichkeiten um in Python einen Integer in einen String umzuwandeln.
Die einfachste Methode um dies zu erreichen, ist die Zahl mit der Funktion str umzuwandeln.Mit der eingebauten Funktion type kannst du den Typen eines Objektes anschließend ermitteln.
zahl = 7 print("Typ:", type(zahl), "Wert:", zahl) zahl = str(zahl) print("Typ:", type(zahl), "Wert:", zahl)
> Typ: <class 'int'> Wert: 7 > Typ: <class 'str'> Wert: 7
Meist wird, um eine Zahl in einen String einzubinden, eine der vier folgenden Herangehensweisen gewählt.
zahl = 7 quadrat = zahl * zahl # einfache String-Verkettung "Das Quadrat von " + str(zahl) + " ist " + str(quadrat) # Formatieren "Old Style" "Das Quadrat von %d ist %d" % (zahl, quadrat) # Formatieren "New Style" "Das Quadrat von {} ist {}".format(zahl, quadrat) # f-strings, seit Python 3 f"Das Quadrat von {zahl} ist {quadrat}"
> Das Quadrat von 7 ist 49 > Das Quadrat von 7 ist 49 > Das Quadrat von 7 ist 49 > Das Quadrat von 7 ist 49
Diese Funktionen können nicht nur für Konvertierungen von Integern zu Strings verwendet werden, sondern wir können auch eigene Klassen schreiben, die str und format unterstützen.Das folgende Beispiel gibt für beide Funktionen das gleiche Ergebnis aus.
class BeispielKlasse(object): def __str__(self): return 'BeispielKlasse' beispiel = "Verwendete Klasse: " + str(BeispielKlasse()) print(beispiel) beispiel = f"Verwendete Klasse: {BeispielKlasse()}" print(beispiel)
> Verwendete Klasse: BeispielKlasse > Verwendete Klasse: BeispielKlasse
Wenn du nun zusätzlich zu __str__ noch __format__ implementierst, kannst du die Ausgabe von str und format unabhängig voneinander steuern.
class BeispielKlasse(object): def __str__(self): return '__str__Beispiel' def __format__(self, idk): return '__format__Beispiel' beispiel = "Verwendete Klasse: " + str(BeispielKlasse()) print(beispiel) beispiel = "Verwendete Klasse: %s" % (BeispielKlasse()) print(beispiel) beispiel = "Verwendete Klasse: {}".format(BeispielKlasse()) print(beispiel) beispiel = f"Verwendete Klasse: {BeispielKlasse()}" print(beispiel)
> Verwendete Klasse: __str__Beispiel > Verwendete Klasse: __str__Beispiel > Verwendete Klasse: __format__Beispiel > Verwendete Klasse: __format__Beispiel
Integer in String zu konvertieren ist einfach und beinahe genau so einfach ist es, das gleiche Verhalten in eigene Klassen zu implementieren. Mit den “magic methods” __str__ und __format__ kannst du bestimmen, wie die Objekte deiner Klassen durch str() und format() dargestellt werden.
Hast du noch Fragen? Hat dir dieser Beitrag geholfen? Lass es mich in den Kommentaren wissen.
😩 Gelangweilt von den Udemy & YouTube-Tutorials?!
Lerne spielerisch Python und komme deiner gutbezahlten (und an der 🌴 liegenden) Traumkarriere einen Schritt weiter.
"Für Leute die gerne Python oder Java lernen wollen ist Codegree klasse. Ist nicht wie bei anderen Konkurrenten auf Videokursen aufgebaut..."
- Lennart Sparbier
100% kostenlos registrieren · keine Kreditkarte notwendig
Im Gegensatz zu der Abendschule oder der alteingesessenen Uni lernst du bei codegree die Sprachen & Pakete, die wirklich im Jobmarkt gesucht werden.
100% kostenlos registrieren · keine Zahlungsdaten notwendig