Formát Python ()

Vstavaná metóda format () vracia formátovanú reprezentáciu danej hodnoty riadenú špecifikátorom formátu.

format()Funkcia je podobná metóde formátu String. Interne obidve metódy volajú __format__()metódu objektu.

Zatiaľ čo vstavaná format()funkcia je implementácia na nízkej úrovni na formátovanie objektu pomocou __format__()interného použitia , reťazec format()je implementáciou na vyššej úrovni, ktorá je schopná vykonávať zložité operácie formátovania aj na viacerých reťazcoch objektov.

Syntax formátu () je:

 format (hodnota (, format_spec))

parametre formátu ()

format()Funkcia má dva parametre:

  • hodnota - hodnota, ktorú je potrebné naformátovať
  • format_spec - špecifikácia spôsobu formátovania hodnoty.

Špecifikátor formátu môže byť vo formáte:

((fill) align) (sign) (#) (0) (width) (,) (. precision) (type) where, the options are fill :: = any character align :: = "" | "=" | "^" sign :: = "+" | "-" | "" šírka :: = presnosť celého čísla :: = typ celého čísla :: = "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | „n“ | „o“ | "s" | "x" | "X" | „%“

Navštívte tieto odkazy a dozviete sa viac o typoch formátov a zarovnaní.

Vrátiť hodnotu z formátu ()

format()Funkcia vracia formátovaný reprezentáciu danej hodnoty stanovené vo formáte Špecifikátor.

Príklad 1: Formátovanie čísla pomocou 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"))

Výkon

 123 123,456790 1100

Príklad 2: Formátovanie čísla s výplňou, zarovnaním, znakom, šírkou, presnosťou a typom

 # integer print(format(1234, "*>+7,d")) # float number print(format(123.4567, "^-09.3f"))

Výkon

 * + 1 234 0123,4570

Tu sme pri formátovaní celého čísla 1234určili špecifikátor formátovania *>+7,d. Poďme pochopiť každú možnosť:

  • * - Je to znak vyplnenia, ktorý po formátovaní vyplní prázdne miesta
  • > - Je to možnosť zarovnania vpravo, ktorá zarovná výstupný reťazec doprava
  • + - Je to možnosť podpísania, ktorá vynúti podpísanie čísla (so znakom vľavo)
  • 7 - Je to voľba šírky, ktorá prinúti číslo zaujať minimálnu šírku 7, ostatné medzery budú vyplnené znakom výplne
  • , - Je to tisícový operátor, ktorý umiestňuje čiarku medzi všetky tisíce.
  • d - Je to voľba typu, ktorá určuje, že číslo je celé číslo.

Pri formátovaní čísla s pohyblivou rádovou čiarkou 123.4567sme určili špecifikátor formátu ^-09.3f. Sú to:

  • ^ - Je to možnosť zarovnania na stred, ktorá zarovná výstupný reťazec do stredu zostávajúceho priestoru
  • - - Je to voľba znamienka, ktorá vynúti zobrazenie iba záporných čísel
  • 0 - Je to znak, ktorý je umiestnený na mieste prázdnych miest.
  • 9 - Je to voľba šírky, ktorá nastavuje minimálnu šírku čísla na 9 (vrátane desatinnej čiarky, tisícov čiarky a znamienka)
  • .3 - Je to operátor presnosti, ktorý nastavuje presnosť daného pohyblivého čísla na 3 miesta
  • f - Je to voľba typu, ktorá určuje, že číslo je float.

Príklad 3: Použitie format () prepísaním __format __ ()

 # custom __format__() method class Person: def __format__(self, format): if(format == 'age'): return '23' return 'None' print(format(Person(), "age"))

Výkon

 23

Tu sme prepísali __format__()metódu triedy Person.

Teraz prijíma formatparameter a vráti 23, ak sa rovná 'age'. Ak nie je zadaný žiadny formát, Nonevráti sa.

format()Funkcia interne pracuje Person().__format__("age")pre návrat 23.

Zaujímavé články...