In Python sagst du
s = "string"
i = 0
print s+i
wird Ihnen Fehler geben, so dass Sie schreiben
print s+str(i)
Fehler nicht bekommen.
Ich denke, dies ist eine ziemlich ungeschickte Art, mit Int- und String-Verkettung umzugehen. Selbst Java muss nicht explizit in String umgewandelt werden, um diese Art der Verkettung durchzuführen. Gibt es eine bessere Möglichkeit, diese Art der Verkettung durchzuführen, dh ohne explizites Casting in Python?
python
concatenation
string-concatenation
Spezialbereich
quelle
quelle
"1" + 1
,2
oder"11"
und warum?s+str(i)
und du hast recht!Antworten:
Moderne String-Formatierung:
quelle
str.format
Methode wurde in Python 3.0 eingeführt und auf Python 2.6 und höher zurückportiert (siehe stackoverflow.com/a/792745/4648642 )Keine String-Formatierung:
quelle
print()
Funktion und legen einige ihrer Parameter fest.Zeichenfolgenformatierung mit der
.format()
Methode neuen Stils (mit den Standardeinstellungen .format () ):Oder die ältere, aber "immer noch
%
herumbleibende " Formatierung:In beiden obigen Beispielen ist kein Leerzeichen zwischen den beiden verketteten Elementen. Wenn Speicherplatz benötigt wird, kann dieser einfach in den Formatzeichenfolgen hinzugefügt werden.
Diese bieten viel Kontrolle und Flexibilität hinsichtlich der Verkettung von Elementen, des Abstands zwischen ihnen usw. Einzelheiten zu Formatspezifikationen finden Sie hier .
quelle
Python ist insofern eine interessante Sprache, als es normalerweise eine (oder zwei) "offensichtliche" Möglichkeiten gibt, eine bestimmte Aufgabe zu erfüllen, aber dennoch Flexibilität besteht.
Das obige Code-Snippet ist in Python3-Syntax geschrieben, aber die Klammern nach dem Drucken waren immer zulässig (optional), bis Version 3 sie obligatorisch machte.
Hoffe das hilft.
Caitlin
quelle
Die Methode format () kann verwendet werden, um Zeichenfolge und Ganzzahl zu verketten
quelle
Wenn Sie nur drucken möchten, können Sie dies tun:
quelle
In Python 3.6 und höher können Sie es wie folgt formatieren:
oder nur:
quelle