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 1234
formá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.4567
a 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ére0
- 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 helyref
- 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 format
paramétert, és 23-at ad vissza, ha az egyenlő 'age'
. Ha nincs megadva formátum, None
akkor visszatér.
A format()
függvény belülről fut Person().__format__("age")
vissza a 23-ra.