Ugrađena metoda format () vraća formatirani prikaz zadane vrijednosti koju kontrolira specifikator formata.
format()
Funkcija je slična metodi Gudački formatu. Obje metode interno pozivaju __format__()
metodu objekta.
Iako je ugrađena format()
funkcija implementacija niske razine za __format__()
interno formatiranje objekta , string format()
je implementacija više razine koja može izvoditi složene operacije oblikovanja i na više nizova objekata.
Sintaksa formata () je:
format (vrijednost (, format_spec))
format () Parametri
format()
Funkcija traje dva parametra:
- vrijednost - vrijednost koju treba formatirati
- format_spec - Specifikacija načina oblikovanja vrijednosti.
Specifikator formata može biti u formatu:
((ispuniti) poravnati) (znak) (#) (0) (širina) (,) (. preciznost) (vrsta) gdje su opcije fill :: = bilo koji znak poravnanja :: = "" | "=" | znak "^" :: = "+" | "-" | "" širina :: = cijela preciznost :: = vrsta cijelog broja :: = "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
Posjetite ove veze da biste saznali više o vrstama formata i poravnanju.
Vrati vrijednost iz formata ()
format()
Funkcija vraća formatiran prikaz danu vrijednost koju je odredio format razvrstač.
Primjer 1: Oblikovanje brojeva pomoću formata ()
# d, f and b are type # integer print(format(123, "d")) # float arguments print(format(123.4567898, "f")) # binary format print(format(12, "b"))
Izlaz
123 123.456790 1100
Primjer 2: Oblikovanje brojeva s ispunom, poravnanjem, znakom, širinom, preciznošću i vrstom
# integer print(format(1234, "*>+7,d")) # float number print(format(123.4567, "^-09.3f"))
Izlaz
* + 1.234 0123,4570
Ovdje smo prilikom formatiranja cijelog broja 1234
naveli specifikator formatiranja *>+7,d
. Razumijemo svaku opciju:
*
- Znak za popunjavanje ispunjava prazna mjesta nakon formatiranja>
- To je prava opcija poravnanja koja poravnava izlazni niz udesno+
- Opcija znaka je ta koja prisiljava broj na potpisivanje (znak s lijeve strane)7
- Opcija širine je ta koja prisiljava broj na minimalnu širinu od 7, ostali se prostori popunjavaju znakom za popunjavanje,
- Operater tisuće stavlja zarez između svih tisuća.d
- Opcija tipa određuje broj je cijeli broj.
Pri formatiranju broja s pomičnom zarezom 123.4567
naveli smo specifikator formata ^-09.3f
. Ovi su:
^
- To je opcija središnjeg poravnanja koja poravnava izlazni niz sa središtem preostalog prostora-
- Opcija znaka je ta koja prisiljava samo negativne brojeve da pokazuju znak0
- Lik je taj koji je postavljen umjesto praznih mjesta.9
- Opcija širine je ta koja postavlja minimalnu širinu broja na 9 (uključujući decimalnu točku, tisuće zareza i znak).3
- Operater preciznosti taj je koji preciznost zadanog plutajućeg broja postavlja na 3 mjestaf
- Opcija tipa određuje broj je plovak.
Primjer 3: Korištenje formata () nadjačavanjem __format __ ()
# custom __format__() method class Person: def __format__(self, format): if(format == 'age'): return '23' return 'None' print(format(Person(), "age"))
Izlaz
23
Ovdje smo nadjačali __format__()
metodu klase Person
.
Sada prihvaća format
parametar i vraća 23 ako je jednak 'age'
. Ako nije naveden format, None
vraća se.
format()
Funkcija interno radi Person().__format__("age")
da se vrati 23.