In Python sagen Sie haben
s = "string"
i = 0
print s+i
wird Ihnen errorso schreiben, dass Sie schreiben
print s+str(i)
keinen Fehler bekommen.
Ich denke, dass dies eine ziemlich ungeschickte Art ist, mit Int- und String-Verkettung umzugehen. Selbst Java benötigt keine explizite Umwandlung in String, um diese Art von Konkurrenten auszuführen Verkettung dh ohne explizites Casting in Python?
Moderne String-Formatierung:
"{} and {}".format("string", 1)
Keine String-Formatierung:
>> print 'Foo',0
Foo 0
String-Formatierung mit der neuen .format()
-Methode (mit den Standardeinstellungen .format () ):
'{}{}'.format(s, i)
Oder das ältere, aber "immer noch", %
- Formatierung:
'%s%d' %(s, i)
In beiden obigen Beispielen ist no Leerzeichen zwischen den beiden Elementen verkettet. Wenn Platz benötigt wird, kann er einfach in den Formatstrings hinzugefügt werden.
Diese bieten ein lot an Kontrolle und Flexibilität hinsichtlich der Verkettung von Elementen, des Zwischenraums usw. Weitere Informationen zu Formatangaben finden Sie hier .
Python ist insofern eine interessante Sprache, als es normalerweise eine (oder zwei) "offensichtliche" Möglichkeiten gibt, eine gegebene Aufgabe zu erfüllen, Flexibilität jedoch immer noch besteht.
s = "string"
i = 0
print (s + repr(i))
Das obige Code-Snippet ist in Python3-Syntax geschrieben, die Klammern nach dem Druck waren jedoch immer zulässig (optional), bis sie in Version 3 obligatorisch waren.
Hoffe das hilft.
Caitlin
die format () -Methode kann zur Verkettung von Zeichenfolge und Ganzzahl verwendet werden
print(s+"{}".format(i))