Metoda built-in format () returnează o reprezentare formatată a valorii date controlată de specificatorul de format.
format()
Funcția este similară cu metoda formatul String. Pe plan intern, ambele metode numesc __format__()
metoda unui obiect.
În timp ce funcția încorporată format()
este o implementare de nivel scăzut pentru formatarea unui obiect folosind __format__()
intern, șirul format()
este o implementare de nivel superior capabilă să efectueze operațiuni de formatare complexe și pe mai multe șiruri de obiecte.
Sintaxa formatului () este:
format (valoare (, format_spec))
format () Parametri
format()
Funcția are doi parametri:
- valoare - valoare care trebuie formatată
- format_spec - Specificația privind modul în care trebuie formatată valoarea.
Specificatorul de format poate fi în format:
((fill) align) (sign) (#) (0) (width) (,) (. precision) (type) unde, opțiunile sunt fill :: = orice caracter align :: = "" | "=" | semnul „^” :: = "+" | "-" | "" width :: = integer precision :: = integer type :: = "b" | "c" | "d" | „e” | „E” | "f" | „F” | "g" | „G” | "n" | "o" | „s” | „x” | „X” | „%”
Accesați aceste linkuri pentru a afla mai multe despre tipurile de format și alinierea.
Returnează valoarea din format ()
format()
Funcția returnează o reprezentare formatată a unei valori date specificată de specificatorul de format.
Exemplul 1: formatarea numerelor cu 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"))
Ieșire
123 123.456790 1100
Exemplul 2: formatarea numerelor cu umplere, aliniere, semnare, lățime, precizie și tip
# integer print(format(1234, "*>+7,d")) # float number print(format(123.4567, "^-09.3f"))
Ieșire
* + 1.234 0123.4570
Aici, la formatarea numărului întreg 1234
, am specificat specificatorul de formatare *>+7,d
. Să înțelegem fiecare opțiune:
*
- Este caracterul de umplere care umple spațiile goale după formatare>
- Este opțiunea de aliniere dreaptă care aliniază șirul de ieșire la dreapta+
- Opțiunea de semnare care forțează semnarea numărului (având un semn în stânga)7
- Este opțiunea de lățime care forțează numărul să ia o lățime minimă de 7, alte spații vor fi umplute cu caracter de umplere,
- Operatorul de mii plasează o virgulă între toate mii.d
- Opțiunea de tip care specifică numărul este un număr întreg.
La formatarea numărului în virgulă mobilă 123.4567
, am specificat specificatorul de format ^-09.3f
. Acestea sunt:
^
- Este opțiunea de aliniere centrală care aliniază șirul de ieșire la centrul spațiului rămas-
- Este opțiunea semn care forțează doar numerele negative să afișeze semnul0
- Este personajul care este plasat în locul spațiilor goale.9
- Este opțiunea de lățime care setează lățimea minimă a numărului la 9 (inclusiv punctul zecimal, virgula de mii și semn).3
- Este operatorul de precizie care setează precizia numărului flotant dat la 3 locurif
- Opțiunea de tip care specifică numărul este un float.
Exemplul 3: Utilizarea formatului () prin suprascrierea __formatului __ ()
# custom __format__() method class Person: def __format__(self, format): if(format == 'age'): return '23' return 'None' print(format(Person(), "age"))
Ieșire
23
Aici, am trecut peste __format__()
metoda clasei Person
.
Acceptă acum un format
parametru și returnează 23 dacă este egal cu 'age'
. Dacă nu este specificat niciun format, None
este returnat.
format()
Funcția se execută pe plan intern Person().__format__("age")
pentru a reveni 23.