Alte Methode
Vor Python 2.6 war die Verwendung von Formatzeichenfolgen relativ einfach, obwohl die Anzahl der Parameter, die sie empfangen konnte, begrenzt war. Diese Methoden funktionieren weiterhin in Python 3.3, es gibt jedoch implizite Warnungen, dass diese Methoden vollständig auslaufen werden, und es gibt noch keinen klaren Zeitplan.
Gleitkommazahl formatieren:
pi = 3.14159 print(" pi = %1.2f ", % pi)
Mehrere Ersatzwerte:
s1 = "cats" s2 = "dogs" s3 = " %s and %s living together" % (s1, s2)
Nicht genügend Argumente:
Bei der alten Formatierungsmethode erhielt ich oft die Meldung „TypeError: nicht genügend Argumente für Formatierungszeichenfolge“, weil ich die Substitutionsvariablen falsch gezählt habe. Das kann man leicht übersehen Variablen beim Schreiben von Code wie dem folgenden.
set = (%s, %s, %s, %s, %s, %s, %s, %s) " % (a,b,c,d,e,f,g,h,i)
Für die neuen Python-Formatzeichenfolgen können Sie nummerierte Argumente verwenden, sodass Sie nicht zählen müssen, wie viele Argumente vorhanden sind.
set = set = " ({0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}) ".format(a,b,c,d,e,f,g)
Python 2.x basierend auf Wörterbuchzeichenfolgenformatierung
"%(n)d %(x)s" %{"n":1, "x":"spam"} reply = """ Greetings... Hello %(name)s! Your age squared is %(age)s """ values = {'name':'Bob', 'age':40} print rely % values
Python 3.x-Format-Methodenformatierung
template = '{0},{1} and {2}' template.format('spam','ham','eggs') template = '{motto}, {pork} and {food}' template.format(motto='spam', pork='ham', food='eggs') template = '{motto}, {0} and {food}' template.format('ham', motto='spam', food='eggs') '{motto}, {0} and {food}'.format(42, motto=3.14, food=[1,2,3])
Mehr für a Zusammenfassung der String-Formatierungsmethoden in Python. Weitere Informationen zu verwandten Artikeln finden Sie auf der chinesischen PHP-Website!