Den innebygde metoden () metoden returnerer en formatert representasjon av den gitte verdien som styres av formatet.
Den format()
samme funksjon String format metode. Internt kaller begge metodene __format__()
metoden til et objekt.
Mens den innebygde format()
funksjonen er en implementering på lavt nivå for formatering av et objekt ved bruk __format__()
internt, er streng format()
en implementering på høyere nivå som også kan utføre komplekse formateringsoperasjoner på flere objektstrenger.
Syntaksen til formatet () er:
format (verdi (, format_spec))
format () Parametere
Den format()
funksjonen tar to parametere:
- verdi - verdi som må formateres
- format_spec - Spesifikasjonen for hvordan verdien skal formateres.
Formatspesifikatoren kan være i formatet:
((fill) align) (sign) (#) (0) (width) (,) (. precision) (type) hvor alternativene er fill :: = any character align :: = "" | "=" | "^" skilt :: = "+" | "-" | "" bredde :: = heltall presisjon :: = heltall type :: = "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
Besøk disse lenkene for å lære mer om formattyper og justering.
Returverdi fra format ()
Den format()
funksjonen returnerer en formatert representasjon av en gitt verdi som er angitt av formatet Specifier.
Eksempel 1: Tallformatering med 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"))
Produksjon
123 123,456790 1100
Eksempel 2: Tallformatering med fyll, justering, tegn, bredde, presisjon og type
# integer print(format(1234, "*>+7,d")) # float number print(format(123.4567, "^-09.3f"))
Produksjon
* + 1 234 0123,4570
Her, når vi formaterer heltallet 1234
, har vi spesifisert formateringsspesifikasjonen *>+7,d
. La oss forstå hvert alternativ:
*
- Det er fylltegnet som fyller de tomme områdene etter formatering>
- Det er riktig justeringsalternativ som justerer utgangstrengen til høyre+
- Det er skiltalternativet som tvinger nummeret som skal signeres (å ha et skilt til venstre)7
- Det er breddealternativet som tvinger tallet til å ta en minimumsbredde på 7, andre mellomrom vil fylles med fylltegn,
- Det er tusenoperatøren som plasserer et komma mellom alle tusenvis.d
- Det er typealternativet som spesifiserer at tallet er et heltall.
Når vi formaterer flytende nummer 123.4567
, har vi spesifisert formatspesifikatoren ^-09.3f
. Disse er:
^
- Det er midtjusteringsalternativet som justerer utgangstrengen til midten av gjenværende plass-
- Det er skiltalternativet som bare tvinger negative tall til å vise tegnet0
- Det er karakteren som plasseres i stedet for de tomme rom.9
- Det er breddealternativet som setter minimumsbredden til tallet til 9 (inkludert desimaltegn, tusen komma og tegn).3
- Det er presisjonsoperatøren som setter presisjonen til det gitte flytende tallet til 3 stederf
- Det er typen alternativ som spesifiserer at tallet er en flottør.
Eksempel 3: Bruke format () ved å overstyre __format __ ()
# custom __format__() method class Person: def __format__(self, format): if(format == 'age'): return '23' return 'None' print(format(Person(), "age"))
Produksjon
23
Her har vi overstyrt __format__()
metoden til klassen Person
.
Den aksepterer nå en format
parameter og returnerer 23 hvis den er lik 'age'
. Hvis ikke noe format er spesifisert, None
returneres.
Den format()
funksjonen internt går Person().__format__("age")
å returnere 23.