String-Formatierung % vs. Format, was ist besser?

anonymity
Freigeben: 2019-05-25 11:28:36
Original
2416 Leute haben es durchsucht

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.

String-Formatierung % vs. Format, was ist besser?

Prozentmodus

%[(name)][flags][width].[precision]typecode
Nach dem Login kopieren

(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, }
Nach dem Login kopieren
E

Formatierungsmethode

[[fill]align][sign][#][0][width][,][.precision][type]
Nach dem Login kopieren

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, &#39;alex&#39;)
tpl = "i am {}, age {}, {}".format(*["seven", 18, &#39;alex&#39;])
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)
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage