Mehrere Argumente in Python drucken
Dies ist nur ein Ausschnitt aus meinem Code:
print("Total score for %s is %s ", name, score)
Aber ich möchte es ausdrucken:
"Gesamtpunktzahl für (Name) ist (Punktzahl)"
wobei "Name" eine Variable in einer Liste und "Punktzahl" eine ganze Zahl ist. Dies ist Python 3.3, falls das überhaupt hilft.
281
3
Es gibt viele Möglichkeiten, dies zu tun. Um Ihren aktuellen Code mit der "%"-Formatierung zu korrigieren, müssen Sie ein Tupel übergeben:
Übergeben Sie es als Tupel:
Ein Tupel mit einem einzelnen Element sieht aus wie
('dies',)
.Hier sind einige andere gängige Möglichkeiten, dies zu tun:
Übergeben Sie es als Wörterbuch:
Es gibt auch eine neue Art der String-Formatierung, die etwas leichter zu lesen sein könnte:
Verwenden Sie die neue Formatierung für Zeichenketten:
Verwenden Sie die neue String-Formatierung für Zahlen (nützlich für die Neuordnung oder den mehrfachen Ausdruck derselben Zahl):
Verwenden Sie die String-Formatierung im neuen Stil mit expliziten Namen:
Konkatenieren Sie Strings:
Meiner Meinung nach sind das die beiden klarsten:
Übergeben Sie einfach die Werte als Parameter:
Wenn Sie nicht möchten, dass die Leerzeichen im obigen Beispiel automatisch von
print
eingefügt werden, ändern Sie den Parametersep
:Wenn Sie Python 2 verwenden, können Sie die letzten beiden Parameter nicht verwenden, da "print" in Python 2 keine Funktion ist. Sie können jedoch dieses Verhalten von
__future__
importieren:Verwenden Sie die neue
f
-Zeichenfolgenformatierung in Python 3.6:Ich persönlich mag die einfache Verkettung von Zeichenketten:
Sie funktioniert sowohl mit Python 2.7 als auch 3.X.
HINWEIS: Wenn score ein int ist, dann sollten Sie es in str konvertieren:
Versuchen Sie es einfach: