Python formāts ()

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īmi
  • 0 - 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ām
  • f - 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 formatparametru un atgriež 23, ja tas ir vienāds ar 'age'. Ja formāts nav norādīts, Nonetiek atgriezts.

format()Funkcija iekšēji darbojas Person().__format__("age")atgriezties 23.

Interesanti raksti...