Python-format ()

Den indbyggede format () -metode returnerer en formateret repræsentation af den givne værdi styret af formatspecifikatoren.

Den format()funktion svarer til den String format metode. Internt kalder begge metoder __format__()et objekts metode.

Mens den indbyggede format()funktion er en implementering på et lavt niveau til formatering af et objekt ved hjælp af __format__()internt, er streng format()en implementering på et højere niveau, der også kan udføre komplekse formateringsoperationer på flere objektstrenge.

Syntaksen for format () er:

 format (værdi (, format_spec))

format () Parametre

Den format()funktion tager to parametre:

  • værdi - værdi, der skal formateres
  • format_spec - Specifikationen for, hvordan værdien skal formateres.

Formatspecifikatoren kunne være i formatet:

((udfyld) juster) (tegn) (#) (0) (bredde) (,) (. præcision) (type) hvor indstillingerne er udfyld :: = enhver karakterjustering = = "" | "=" | "^" tegn :: = "+" | "-" | "" bredde :: = heltalspræcision :: = heltalstype :: = "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"

Besøg disse links for at lære mere om formattyper og justering.

Returneringsværdi fra format ()

Den format()funktion returnerer en formateret repræsentation af en given værdi angivet af formateringsanvisning.

Eksempel 1: Talformatering 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"))

Produktion

 123 123.456790 1100

Eksempel 2: Talformatering med udfyldning, justering, tegn, bredde, præcision og type

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

Produktion

 * + 1.234 0123.4570

Her, når vi formaterer heltal 1234, har vi specificeret formateringsspecifikatoren *>+7,d. Lad os forstå hver mulighed:

  • * - Det er udfyldningstegnet, der udfylder de tomme rum efter formatering
  • > - Det er den rigtige justeringsindstilling, der justerer outputstrengen til højre
  • + - Det er tegnindstillingen, der tvinger nummeret, der skal underskrives (med et tegn til venstre)
  • 7 - Det er breddeindstillingen, der tvinger antallet til at tage en minimumsbredde på 7, andre mellemrum udfyldes med udfyldningstegn
  • , - Det er de tusinder, der placerer et komma mellem alle tusinder.
  • d - Det er typeindstillingen, der angiver, at tallet er et heltal.

Når vi formaterer flydende nummer 123.4567, har vi angivet formatspecifikatoren ^-09.3f. Disse er:

  • ^ - Det er centerjusteringsindstillingen, der justerer outputstrengen til midten af ​​det resterende rum
  • - - Det er tegnindstillingen, der kun tvinger negative tal til at vise tegnet
  • 0 - Det er tegnet, der placeres i stedet for de tomme rum.
  • 9 - Det er breddeindstillingen, der indstiller minimumsbredden på nummeret til 9 (inklusive decimaltegn, tusinder komma og tegn)
  • .3 - Det er præcisionsoperatøren, der indstiller præcisionen for det givne flydende tal til 3 steder
  • f - Det er typeindstillingen, der angiver, at tallet er en float.

Eksempel 3: Brug af format () ved at tilsidesætte __format __ ()

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

Produktion

 23

Her har vi tilsidesat __format__()klassens metode Person.

Den accepterer nu en formatparameter og returnerer 23, hvis den er lig med 'age'. Hvis der ikke er angivet noget format, Nonereturneres.

Den format()funktion internt løber Person().__format__("age")at returnere 23.

Interessante artikler...