Integruotas formato () metodas pateikia formato nurodytosios vertės suformatuotą vaizdą.
format()
Funkcija yra panaši į Styginių formato metodu. Viduje abu metodai vadina __format__()
objekto metodą.
Nors įmontuota format()
funkcija yra žemo lygio objektų formatavimas naudojant __format__()
vidinį, eilutė format()
yra aukštesnio lygio diegimas, galintis atlikti sudėtingas formatavimo operacijas ir kelioms objekto eilutėms.
Formato () sintaksė yra:
formatas (reikšmė (, formato_spec))
formatas () Parametrai
format()
Funkcija trunka du parametrus:
- vertė - vertė, kurią reikia suformatuoti
- format_spec - Nurodymas , kaip vertė turėtų būti formatuojama.
Formato specifikatorius gali būti tokio formato:
((užpildyti) sulygiuoti) (ženklas) (#) (0) (plotis) (,) (. tikslumas) (tipas) kur, parinktys yra užpildyti :: = bet koks simbolis sulygiuotas :: = "" | "=" | "^" ženklas :: = "+" | "-" | "" plotis :: = sveiko skaičiaus tikslumas :: = sveiko skaičiaus tipas :: = "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | „%“
Apsilankykite šiose nuorodose, kad sužinotumėte daugiau apie formato tipus ir derinimą.
Grąžinimo vertė iš formato ()
format()
Funkcija grąžina suformatuoti atstovavimą pagal formato specyfikator nurodytą tam tikrą vertę.
1 pavyzdys: skaičių formatavimas naudojant 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"))
Rezultatas
123 123.456790 1100
2 pavyzdys: skaičių formatavimas užpildant, sulygiuoti, ženklą, plotį, tikslumą ir tipą
# integer print(format(1234, "*>+7,d")) # float number print(format(123.4567, "^-09.3f"))
Rezultatas
* + 1 234 0123,4570
Čia, formatuodami sveikąjį skaičių 1234
, nurodėme formatavimo specifikatorių *>+7,d
. Supraskime kiekvieną variantą:
*
- Tai yra užpildymo simbolis, kuris užpildo tuščias vietas po formatavimo>
- Tai yra tinkama lygiavimo parinktis, kuri išvesties eilutę ištiesina į dešinę+
- Tai ženklo parinktis, kuri priverčia pasirašyti skaičių (kairėje pusėje yra ženklas)7
- Tai yra pločio parinktis, kuri verčia skaičių užimti mažiausiai 7 plotus, kitas tarpus užpildys užpildymo simbolis,
- Tai tūkstančių operatorius, kuris padeda kablelį tarp visų tūkstančių.d
- Tai tipo parinktis, nurodanti, kad skaičius yra sveikasis skaičius.
Formatuodami slankiojo kablelio skaičių 123.4567
nurodėme formato specifikatorių ^-09.3f
. Šitie yra:
^
- Tai yra centro sulyginimo parinktis, kuri išlygiuoja išvesties eilutę su likusios vietos centru-
- Tai ženklo parinktis, kuri priverčia ženklą rodyti tik neigiamus skaičius0
- Vietoje tuščių vietų dedamas personažas.9
- Tai yra pločio parinktis, nustatanti mažiausią skaičiaus plotį iki 9 (įskaitant kablelį, tūkstančius kablelių ir ženklą).3
- Tikslusis operatorius nustato nurodyto plūduriuojančio skaičiaus tikslumą į 3 vietasf
- Tai tipo parinktis, nurodanti, kad skaičius yra plūduriuojantis.
3 pavyzdys: formato () naudojimas nepaisant __format __ ()
# custom __format__() method class Person: def __format__(self, format): if(format == 'age'): return '23' return 'None' print(format(Person(), "age"))
Rezultatas
23
Čia mes atmetėme __format__()
klasės metodą Person
.
Dabar jis priima format
parametrą ir pateikia 23, jei jis yra lygus 'age'
. Jei formatas nenurodytas, None
grąžinamas.
format()
Funkcija viduje veikia Person().__format__("age")
grąžinti 23.