Es gibt zwei Möglichkeiten, Zeichenfolgen in Python zu formatieren: die Prozentzeichenmethode und die Formatierungsmethode
Die Prozentzeichenmethode ist relativ alt, während die Formatierungsmethode eine fortgeschrittenere Methode ist und die alte Methode ersetzen soll , derzeit existieren beide nebeneinander.
Prozentmodus
%[(name)][flags][width].[precision]typecode
(name) Optional, wird zur Auswahl des angegebenen Schlüssels verwendet
Flags Optional, Verfügbare Werte sind:
+ Rechtsbündig; positiven Zahlen geht ein Minuszeichen voran;
- Linksbündig; , negative Zahlen Vorzeichen einfügen
Rechtsbündig; vor positiven Zahlen ein Minuszeichen hinzufügen
0 Rechtsbündig; Zahlen, fügen Sie vor negativen Zahlen ein Minuszeichen hinzu; verwenden Sie 0, um die Leerstelle zu füllen 🎜>Typcode erforderlich
s, Rufen Sie den Rückgabewert der __str__-Methode des eingehenden Objekts ab und formatieren Sie ihn an der angegebenen Position
r, Rufen Sie den Rückgabewert der __repr__-Methode des eingehenden Objekts ab Objekt und formatieren Sie es an der angegebenen Stelle
c, Ganzzahl: Konvertieren Sie die Zahl in den entsprechenden Unicode-Wert, der Dezimalbereich ist 0 <= i <= 1114111 (py27 unterstützt nur 0-255); : Fügen Sie das Zeichen hinzu, um die Position anzugeben
o, konvertieren Sie die Ganzzahl in eine oktale Darstellung und formatieren Sie sie an der angegebenen Position
x, konvertieren Sie die Ganzzahl in eine hexadezimale Darstellung und formatieren Sie sie. Gehen Sie zu die angegebene Position
d, Ganzzahlen und Gleitkommazahlen in eine Dezimaldarstellung umwandeln und an der angegebenen Position formatieren
e, Ganzzahlen und Gleitkommazahlen in wissenschaftliche Notation umwandeln und formatieren Es wird an der angegebenen Position formatiert (Kleinbuchstabe e)
E, wandelt Ganzzahlen und Gleitkommazahlen in wissenschaftliche Notation um und formatiert an der angegebenen Position (Großbuchstabe E)
f, Ganzzahlen konvertieren und Gleitkommazahlen in Gleitkommazahlen umwandeln und an der angegebenen Position formatieren (standardmäßig 6 Nachkommastellen beibehalten)
F, das gleiche wie oben
g, automatisch anpassen Ganzzahlen und Gleitkommazahlen Konvertieren Sie es in eine Gleitkomma- oder wissenschaftliche Notation (verwenden Sie die wissenschaftliche Notation für mehr als 6 Ziffern) und formatieren Sie es an der angegebenen Position (z. B. wenn es sich um eine wissenschaftliche Notation handelt;)
G, automatisch Die Anpassung konvertiert Ganzzahlen und Gleitkommazahlen in Gleitkomma- oder wissenschaftliche Notation (mehr als 6 Ziffern verwenden wissenschaftliche Notation) und formatiert sie an der angegebenen Position (E, wenn es sich um wissenschaftliche Notation handelt;)
% , Wenn die Zeichenfolge ein Formatierungsflag enthält, müssen Sie %% verwenden, um ein Prozentzeichen darzustellen
Hinweis: Es gibt keine Möglichkeit, Ganzzahlen automatisch in die Binärdarstellung in der Prozentzeichenformatierung in Python umzuwandeln
tpl = "i am %s" % "alex" tpl = "i am %s age %d" % ("alex", 18) tpl = "i am %(name)s age %(age)d" % {"name": "alex", "age": 18} tpl = "percent %.2f" % 99.97623 tpl = "i am %(pp).2f" % {"pp": 123.425556, } tpl = "i am %.2f %%" % {"pp": 123.425556, }
Formatierungsmethode
[[fill]align][sign][#][0][width][,][.precision][type]
Füllen Sie [Optional] Zeichen aus, die in den Leerraum gefüllt sind
Ausrichten [Optional] Ausrichtungsmethode (muss mit der Breite verwendet werden) <, der Inhalt ist linksbündig
>, der Inhalt ist rechtsbündig (Standard)
=, der Inhalt ist rechtsbündig, das Symbol wird links platziert des Füllzeichens und sind nur für numerische Typen gültig. Auch wenn: Symbol + Füller + Zahl
^, der Inhalt ist zentriert
Zeichen [Optional] Es gibt vorzeichenlose Zahlen
+, positives Vorzeichen plus positiv, negatives Vorzeichen plus negativ ;
-, das positive Vorzeichen bleibt unverändert, das negative Vorzeichen wird zum negativen
Leerzeichen hinzugefügt, das positive Vorzeichen ist ein Leerzeichen, das negative Vorzeichen wird zum negativen hinzugefügt;
#Breite> Breite [Optional] Die Breite der Formatierungsbits .precision [Optional] Präzision bei der Beibehaltung von Dezimalstellen Typ [Optional] Formatierungstyp Eingabe „ Zeichenparameter des Zeichenfolgentyps „s, formatierte Zeichenfolgentypdaten sind leer. Wenn der Typ nicht angegeben ist, ist der Standardwert „Keine“, genau wie s im „Ganzzahltyp“ übergeben Der Parameter b wandelt die dezimale Ganzzahl automatisch in eine Binärdarstellung um und formatiert dann c, wandelt die dezimale Ganzzahl automatisch in das entsprechende Unicode-Zeichen um
d, dezimale Ganzzahl o, dezimale Ganzzahl automatisch in oktale Darstellung umwandeln und dann formatieren x, dezimale Ganzzahl automatisch in hexadezimale Darstellung umwandeln Dann formatieren (Kleinbuchstabe x) X, konvertiert die dezimale Ganzzahl automatisch in eine hexadezimale Darstellung und formatiert sie dann (Großbuchstaben). Der Parameter von e wird in wissenschaftliche Notation (Kleinbuchstabe e) konvertiert und dann formatiert; E, wird in die wissenschaftliche Schreibweise (Großbuchstabe E) konvertiert und dann formatiert; F, in Gleitkomma umgewandelt (Standard 6 Nachkommastellen), dann formatiert; g, automatisch zwischen e und f umschalten G, automatisch zwischen E und F umschalten
%, Anzeigeprozentsatz (Standardanzeige ist 6 Nachkommastellen)
tpl = "i am {}, age {}, {}".format("seven", 18, 'alex') tpl = "i am {}, age {}, {}".format(*["seven", 18, 'alex']) tpl = "i am {0}, age {1}, really {0}".format("seven", 18) tpl = "i am {0}, age {1}, really {0}".format(*["seven", 18]) tpl = "i am {name}, age {age}, really {name}".format(name="seven", age=18) tpl = "i am {name}, age {age}, really {name}".format(**{"name": "seven", "age": 18}) tpl = "i am {0[0]}, age {0[1]}, really {0[2]}".format([1, 2, 3], [11, 22, 33]) tpl = "i am {:s}, age {:d}, money {:f}".format("seven", 18, 88888.1) tpl = "i am {:s}, age {:d}".format(*["seven", 18]) tpl = "i am {name:s}, age {age:d}".format(name="seven", age=18) tpl = "i am {name:s}, age {age:d}".format(**{"name": "seven", "age": 18}) tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15, 15, 15.87623, 2) tpl = "numbers: {:b},{:o},{:d},{:x},{:X}, {:%}".format(15, 15, 15, 15, 15, 15.87623, 2) tpl = "numbers: {0:b},{0:o},{0:d},{0:x},{0:X}, {0:%}".format(15) tpl = "numbers: {num:b},{num:o},{num:d},{num:x},{num:X}, {num:%}".format(num=15)
Das obige ist der detaillierte Inhalt vonString-Formatierung % vs. Format, was ist besser?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!