Python wirft beim "verbinden" von Strings und Integers einen TypeError. Das ist zumindest für mich, verwunderlich, da in vielen Sprachen so automatisch ein TypeCasting durchgeführt wird.
So erzeugt der Beispielcode aus Listing 1 einen Fehler.
Listing 1
Download Code!
strValue = "Die Antwort nach dem Leben, dem Universum und dem ganzen Rest ist"
intValue = 42
print strValue + " " + intValue
Python quitiert ein ausführen des Codes mit folgender Meldung:
Traceback (most recent call last):
File "F:\development\python\testit\src\testString.py", line 3, in
print strValue + " " + intValue
TypeError: cannot concatenate 'str' and 'int' objects
Um den Fehler zu beheben gibt es zwei Möglichkeiten. Zum einen durch Backquotes (`) um die Variable intValue, oder durch Typumwandlung durch die Funktion str(). Die korrigierte Fassung steht in Listing 2
Listing 2
Download Code!
strValue = "Die Antwort nach dem Leben, dem Universum und dem ganzen Rest ist"
intValue = 42
# Backquotes
print strValue + " " + `intValue`
# Typumwandlung
print strValue + " " + str(intValue)