Iebūvētā formāta () metode atgriež formāta norādītāja kontrolētās dotās vērtības formatētu attēlojumu.
format()
Funkcija ir līdzīga String formātā metodi. Iekšēji abas metodes izsauc __format__()
objekta metodi.
Lai gan iebūvētā format()
funkcija ir zema līmeņa ieviešana objekta formatēšanai, izmantojot __format__()
iekšēji, virkne format()
ir augstāka līmeņa ieviešana, kas spēj veikt sarežģītas formatēšanas darbības arī vairākām objektu virknēm.
Formāta () sintakse ir:
formāts (vērtība (, formāta_spec))
formāts () Parametri
format()
Funkcija aizņem divi parametri:
- vērtība - vērtība, kas jāformatē
- format_spec - specifikācija, kā vērtība jāformatē.
Formāta norādītājs varētu būt šādā formātā:
((aizpildiet) izlīdziniet) (zīme) (#) (0) (platums) (,) (. precizitāte) (tips) kur, opcijas ir aizpildīt :: = jebkura rakstzīme izlīdzināt :: = "" | "=" | "^" zīme :: = "+" | "-" | "" platums :: = vesela skaitļa precizitāte :: = vesela skaitļa tips :: = "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
Apmeklējiet šīs saites, lai uzzinātu vairāk par formātu tipiem un izlīdzināšanu.
Atgriezt vērtību no formāta ()
format()
Funkcija atgriež formatēts pārstāvību konkrētā vērtību, formāta apzīmētājs norādīto.
1. piemērs: Skaitļu formatēšana ar formātu ()
# d, f and b are type # integer print(format(123, "d")) # float arguments print(format(123.4567898, "f")) # binary format print(format(12, "b"))
Rezultāts
123 123.456790 1100
2. piemērs: Skaitļu formatēšana ar aizpildīšanu, izlīdzināšanu, parakstu, platumu, precizitāti un veidu
# integer print(format(1234, "*>+7,d")) # float number print(format(123.4567, "^-09.3f"))
Rezultāts
* + 1 234 0123,4570
Formatējot veselu skaitli 1234
, mēs esam norādījuši formatēšanas specifikatoru *>+7,d
. Izpratīsim katru variantu:
*
- Aizpildīšanas rakstzīme aizpilda tukšās vietas pēc formatēšanas>
- Tā ir pareizā izlīdzināšanas opcija, kas izlīdzina izvades virkni pa labi+
- Tas ir paraksta variants, kas liek parakstīt numuru (kreisajā pusē ir zīme).7
- Tā ir platuma opcija, kas liek skaitlim iegūt vismaz 7 platumu, pārējās atstarpes aizpildīs aizpildīšanas rakstzīme,
- Tas ir tūkstošu operators, kurš ievieto komatu starp visiem tūkstošiem.d
- Tipa opcija norāda, ka skaitlis ir vesels skaitlis.
Formatējot peldošā komata numuru 123.4567
, mēs esam norādījuši formāta specifikatoru ^-09.3f
. Šie ir:
^
- Tā ir centra izlīdzināšanas opcija, kas izlīdzina izvades virkni ar atlikušās vietas centru-
- Tas ir zīmes variants, kas piespiež tikai negatīvos skaitļus parādīt zīmi0
- Tukšo vietu vietā ir raksturs.9
- Tieši platuma opcija nosaka minimālo skaitļa platumu līdz 9 (ieskaitot decimāldaļu, tūkstošiem komatu un zīmi).3
- Precīzais operators nosaka noteiktā peldošā skaitļa precizitāti līdz 3 vietāmf
- Tipa opcija norāda, ka skaitlis ir pludiņš.
3. piemērs: formāta () izmantošana, aizstājot __format __ ()
# custom __format__() method class Person: def __format__(self, format): if(format == 'age'): return '23' return 'None' print(format(Person(), "age"))
Rezultāts
23
Šeit mēs esam ignorējuši __format__()
klases metodi Person
.
Tagad tas pieņem format
parametru un atgriež 23, ja tas ir vienāds ar 'age'
. Ja formāts nav norādīts, None
tiek atgriezts.
format()
Funkcija iekšēji darbojas Person().__format__("age")
atgriezties 23.