Python formátum ()

A beépített format () metódus visszaadja az adott érték formázott ábrázolását, amelyet a formátum-specifikátor vezérel.

A format()függvény hasonló a String formátumú módszerhez. Belsőleg mindkét __format__()módszer egy objektum metódusát hívja meg .

Míg a beépített format()függvény alacsony szintű megvalósítás az objektum __format__()belső használatával történő formázásához , a string format()egy magasabb szintű megvalósítás, amely képes összetett formázási műveletek végrehajtására több objektum karaktersorozaton is.

A format () szintaxisa a következő:

 formátum (érték (, formátum_spec))

format () Paraméterek

A format()függvénynek két paramétere van:

  • érték - formázandó érték
  • format_spec - Az érték formázásának megadása .

A formátummeghatározó a következő formátumban lehet:

((kitöltés) igazítás) (előjel) (#) (0) (szélesség) (,) (. pontosság) (típus) ahol, az opciók kitöltő :: = bármelyik karakter igazítás :: = "" | "=" | "^" jel :: = "+" | "-" | "" szélesség :: = egész pontosság :: = egész típus :: = "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"

Látogassa meg ezeket a linkeket, hogy többet tudjon meg a formátum típusokról és az igazításról.

Visszaérték formátumból ()

A format()függvény egy adott érték formázott ábrázolását adja vissza, amelyet a formátum-specifikátor határoz meg.

1. példa: Szám formázása formátummal ()

 # d, f and b are type # integer print(format(123, "d")) # float arguments print(format(123.4567898, "f")) # binary format print(format(12, "b"))

Kimenet

 123 123.456790 1100

2. példa: Szám formázása kitöltéssel, igazítással, előjelgel, szélességgel, pontossággal és típussal

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

Kimenet

 * + 1 234 0123,4570

Itt az egész szám 1234formázásakor megadtuk a formázási specifikátort *>+7,d. Értsük meg az egyes lehetőségeket:

  • * - A kitöltési karakter tölti ki az üres helyeket a formázás után
  • > - Ez a megfelelő igazítási lehetőség, amely a kimeneti karakterláncot jobbra igazítja
  • + - Az előjel opció kényszeríti az aláírásra a számot (a bal oldalán van előjel)
  • 7 - A szélesség opció arra kényszeríti a számot, hogy minimum 7 szélességet kapjon, a többi szóközt kitöltő karakter fogja kitölteni
  • , - Ezres operátor az, amely vesszőt tesz az összes ezer közé.
  • d - Ez a típusopció adja meg, hogy a szám egész szám.

A lebegőpontos szám formázásakor megadtuk 123.4567a formátummeghatározót ^-09.3f. Ezek:

  • ^ - Ez a középre igazítási opció igazítja a kimeneti karakterláncot a megmaradt hely közepéhez
  • - - Az előjel opció csak negatív számokat kényszerít a jel megjelenítésére
  • 0 - Az a karakter kerül az üres helyek helyére.
  • 9 - A szélesség opció állítja be a szám minimális szélességét 9-re (tizedesponttal, ezres vesszővel és előjellel együtt)
  • .3 - A precíziós operátor állítja be az adott úszó szám pontosságát 3 helyre
  • f - Ez a típusopció adja meg, hogy a szám lebegő.

3. példa: A format () használata a __format __ () felülbírálásával

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

Kimenet

 23

Itt felülbíráltuk __format__()az osztály módszerét Person.

Most elfogad egy formatparamétert, és 23-at ad vissza, ha az egyenlő 'age'. Ha nincs megadva formátum, Noneakkor visszatér.

A format()függvény belülről fut Person().__format__("age")vissza a 23-ra.

érdekes cikkek...