Heim > Artikel > Backend-Entwicklung > String-Formatierung (%-Operator)
Die Funktion zum Formatieren von Zeichenfolgen ist in vielen Programmiersprachen enthalten, beispielsweise in der formatierten Ein- und Ausgabe in den Sprachen C und Fortran. Der integrierte Operator zum Formatieren von Zeichenfolgen in Python ist „%“.
Vorlage
Beim Formatieren einer Zeichenfolge verwendet Python eine Zeichenfolge als Vorlage. Vorlagen verfügen über Formatierer, die Platz für reale Werte reservieren und das Format beschreiben, in dem reale Werte angezeigt werden sollen. Python verwendet ein Tupel, um mehrere Werte an die Vorlage zu übergeben, wobei jeder Wert einem Formatzeichen entspricht.
Zum Beispiel das folgende Beispiel:
print("I'm %s. I'm %d" % ('Pythontab', 1))
The Beispiel oben:
„Ich bin %s. Ich bin %d“ ist unsere Vorlage. %s ist das erste Formatzeichen, das eine Zeichenfolge darstellt. %d ist das zweite Formatzeichen und stellt eine Ganzzahl dar. Die beiden Elemente 'Pythontab' und 99 von ('Pythontab',99) sind die realen Werte, die %s und %d ersetzen.
Zwischen der Vorlage und dem Tupel gibt es ein %-Zeichen, das sie trennt und den Formatierungsvorgang darstellt.
Das gesamte „Ich bin %s. Ich bin %d“ % ('Pythontab', 1) stellt tatsächlich einen Zeichenfolgenausdruck dar. Wir können es wie einen normalen String einer Variablen zuweisen. Zum Beispiel:
a = "Ich bin %s. Ich bin %d" % ('Pythontab', 1)
print(a)
Das Ergebnis ist: Ich bin Pythontab.
Wir können auch Wörterbücher verwenden, um echte Werte zu übergeben. Wie folgt:
print("Ich bin %(name)s. Ich bin %(age)d" % {'name':'Pythontab', 'age':99})
Wie Sie sehen, haben wir die beiden Formatzeichen benannt. Namen werden in () eingeschlossen. Jeder Name entspricht einem Schlüssel im Wörterbuch.
Formatzeichen
Formatzeichen reservieren Platz für echte Werte und steuern das Anzeigeformat. Das Formatzeichen kann einen Typcode enthalten, um die Art der Anzeige wie folgt zu steuern:
%s String (angezeigt mit str())
%r String (verwendet repr() )
%c Einzelzeichen
%b Binäre Ganzzahl
%d Dezimale Ganzzahl
%i Dezimale Ganzzahl
%o Oktale Ganzzahl
%x Hexadezimale Ganzzahl
%e Exponent (Basis als e geschrieben)
%E Exponent (Basis als E geschrieben)
%f Gleitkommazahl
%F Gleitkommazahl, das gleiche wie oben
%g Exponent (e) oder Gleitkommazahl (je nach Anzeigelänge)
%G Exponent (E ) oder Gleitkommazahl (je nach Anzeigelänge)
%% Das Zeichen „%“
kann zur weiteren Steuerung des Formats auf folgende Weise verwendet werden:
%[ (Name)][Flags][Breite].[Präzision]Typcode
(Name) heißt
Flags, die -,'' oder 0 haben können. Zeigt die richtige Ausrichtung an. - zeigt die Ausrichtung nach links an. ' ' ist ein Leerzeichen, was bedeutet, dass links von der positiven Zahl ein Leerzeichen aufgefüllt wird, um sie an der negativen Zahl auszurichten. 0 bedeutet, dass eine 0-Auffüllung verwendet wird.
width stellt die Anzeigebreite dar
precision stellt die Genauigkeit nach dem Dezimalpunkt dar
Zum Beispiel:
print("% 10x" % 10)
print(" d" % 5)
print("%6.3f" % 2.3)
Die Breite und Genauigkeit oben sind zwei ganze Zahlen. Wir können * verwenden, um diese beiden Größen dynamisch zu ersetzen. Zum Beispiel:
print("%.*f" % (4, 1.2))
Python ersetzt * tatsächlich durch 4. Die eigentliche Vorlage ist also „%.4f“.
Zusammenfassung
Der in Python integrierte %-Operator kann zum Formatieren von Zeichenfolgenoperationen und zum Steuern des Darstellungsformats von Zeichenfolgen verwendet werden. Es gibt andere Möglichkeiten, Zeichenfolgen in Python zu formatieren, aber die Verwendung des %-Operators ist die bequemste.