(Sie verwenden Python 3.x, wobei print eine Funktion ist - in 2.x ist print eine Anweisung. Es ist eine gute Idee, die Hauptversion von Python - 2.x oder 3.x - zu erwähnen, besonders wenn um Hilfe bitten, weil die meisten Leute vernünftigerweise von 2.x ausgehen, es sei denn, es wird angegeben.)
Die erste, print('literal' + var1 + var2)
, wertet einen Ausdruck aus und übergibt ein einzelnes Argument zum Drucken. Die zweite, print('literal', var1, var2)
, übergibt einfach drei Argumente zum Drucken. Das ist fast die selbe Ausgabe rein zufällig: So funktioniert der Druck. Die zweite führt keine Verkettung durch und gibt einfach jeden Wert aus, der durch ein Leerzeichen getrennt ist (was das Standardverhalten von print ist).
Um explizit zu sein: das Pluszeichen im Ausdruck ist , um eine Verkettung durchzuführen, aber das -Komma führt keine Verkettung durch.
Timing: Ich habe die Ergebnisse unten erhalten. Ich glaube jedoch, dass dies verzerrt ist, weil die Saiten so kurz sind (zB längere Saiten könnten das Ergebnis umkehren), und in jedem Fall dauert das Drucken in der Frage nicht lange (Sie werden sich um viele andere Dinge statt).
Hinweis: Verwenden Sie python -m timeit --help
für Anweisungen zur Verwendung von timeit.
Beachten Sie insbesondere, dass jeder Code die gleiche Ausgabe liefert (es ist sinnlos zu vergleichen, wenn eine Methode die falschen Ergebnisse liefert ). Das StringIO ist eine einfache Möglichkeit, in diesen Tests nicht auf den Bildschirm zu drucken, es könnte aber auch Auswirkungen auf die Ergebnisse haben.
Wenn Strings als Argumente zum Drucken übergeben werden, werden sie mit dem Schlüsselwort 'sep' verknüpft. Standard ist '' (Leerzeichen).
Das Trennzeichen-Schlüsselwort ist nur Python 3.x. Davor ist das Trennzeichen immer ein Leerzeichen, außer in 2.5 (?) Und oben, wo du from __future__ import print_function
oder so ähnlich finden kannst.
Die Verwendung eines Kommas gibt der Druckfunktion mehrere Argumente (die in diesem Fall alle getrennt durch ein Leerzeichen gedruckt werden. Mit dem Plus wird ein Argument für den Druck erstellt, das in seiner Gesamtheit gedruckt wird. Ich denke, die Verwendung des + ist in diesem Fall am besten.
Tags und Links python python-3.x concatenation