Die integrierte format () -Methode gibt eine formatierte Darstellung des angegebenen Werts zurück, der vom Formatbezeichner gesteuert wird.
Die format()
Funktion ähnelt der String-Formatmethode. Intern rufen beide Methoden die __format__()
Methode eines Objekts auf.
Während die integrierte format()
Funktion eine Implementierung auf niedriger Ebene zum __format__()
internen Formatieren eines Objekts ist , ist string format()
eine Implementierung auf höherer Ebene, die komplexe Formatierungsvorgänge auch für mehrere Objektzeichenfolgen ausführen kann.
Die Syntax von format () lautet:
format (value (, format_spec))
format () Parameter
Die format()
Funktion akzeptiert zwei Parameter:
- value - Wert, der formatiert werden muss
- format_spec - Die Angabe, wie der Wert formatiert werden soll.
Der Formatbezeichner könnte das folgende Format haben:
((füllen) ausrichten) (Vorzeichen) (#) (0) (Breite) (,) (. Genauigkeit) (Typ) wobei die Optionen füllen :: = beliebiges Zeichen ausrichten :: = "" | "=" | "^" sign :: = "+" | "-" | "" width :: = Integer Precision :: = Integer Type :: = "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
Besuchen Sie diese Links, um mehr über Formattypen und Ausrichtung zu erfahren.
Rückgabewert von format ()
Die format()
Funktion gibt eine formatierte Darstellung eines bestimmten Werts zurück, der vom Formatbezeichner angegeben wird.
Beispiel 1: Zahlenformatierung mit format ()
# d, f and b are type # integer print(format(123, "d")) # float arguments print(format(123.4567898, "f")) # binary format print(format(12, "b"))
Ausgabe
123 123.456790 1100
Beispiel 2: Zahlenformatierung mit Füllung, Ausrichtung, Vorzeichen, Breite, Genauigkeit und Typ
# integer print(format(1234, "*>+7,d")) # float number print(format(123.4567, "^-09.3f"))
Ausgabe
* + 1,234 0123,4570
Hier haben 1234
wir beim Formatieren der Ganzzahl den Formatierungsspezifizierer angegeben *>+7,d
. Lassen Sie uns jede Option verstehen:
*
- Es ist das Füllzeichen, das die leeren Stellen nach der Formatierung ausfüllt>
- Es ist die richtige Ausrichtungsoption, die die Ausgabezeichenfolge nach rechts ausrichtet+
- Es ist die Zeichenoption, die das Signieren der Nummer erzwingt (mit einem Zeichen links).7
- Es ist die Option width, die die Zahl zwingt, eine Mindestbreite von 7 anzunehmen. Andere Leerzeichen werden mit Füllzeichen gefüllt,
- Es ist der Tausenderoperator, der ein Komma zwischen alle Tausender setzt.d
- Es ist die Typoption, die angibt, dass die Zahl eine Ganzzahl ist.
Bei der Formatierung der Gleitkommazahl haben 123.4567
wir den Formatbezeichner angegeben ^-09.3f
. Diese sind:
^
- Mit dieser Option für die Ausrichtung der Mitte wird die Ausgabezeichenfolge an der Mitte des verbleibenden Bereichs ausgerichtet-
- Es ist die Vorzeichenoption, die nur negative Zahlen zwingt, das Vorzeichen anzuzeigen0
- Es ist das Zeichen, das anstelle der leeren Felder platziert wird.9
- Mit der Option width wird die Mindestbreite der Zahl auf 9 festgelegt (einschließlich Dezimalpunkt, Tausenderkomma und Vorzeichen)..3
- Es ist der Präzisionsoperator, der die Präzision der angegebenen schwebenden Zahl auf 3 Stellen setztf
- Es ist die Typoption, die angibt, dass die Nummer ein Float ist.
Beispiel 3: Verwenden von format () durch Überschreiben von __format __ ()
# custom __format__() method class Person: def __format__(self, format): if(format == 'age'): return '23' return 'None' print(format(Person(), "age"))
Ausgabe
23
Hier haben wir die __format__()
Methode der Klasse überschrieben Person
.
Es akzeptiert jetzt einen format
Parameter und gibt 23 zurück, wenn er gleich ist 'age'
. Wenn kein Format angegeben ist, None
wird zurückgegeben.
Die format()
Funktion wird intern ausgeführt Person().__format__("age")
, um 23 zurückzugeben.