Heim >Backend-Entwicklung >Python-Tutorial >String-Formatierung % vs. Format, was ist besser?

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

anonymity
anonymityOriginal
2019-05-25 11:28:362448Durchsuche

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

(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 1c75c1e118b0c75573d4f0017cc0a09a, 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!

Stellungnahme:
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