Python-format ()

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 tegnet
  • 0 - 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 steder
  • f - 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 formatparameter og returnerer 23 hvis den er lik 'age'. Hvis ikke noe format er spesifisert, Nonereturneres.

Den format()funksjonen internt går Person().__format__("age")å returnere 23.

Interessante artikler...