Formát Pythonu ()

Integrovaná metoda format () vrací formátovanou reprezentaci dané hodnoty řízené specifikátorem formátu.

format()Funkce je podobná metodě formátu String. Interně obě metody volají __format__()metodu objektu.

Zatímco vestavěná format()funkce je implementace na nízké úrovni pro formátování objektu pomocí __format__()interně, řetězec format()je implementace na vyšší úrovni, která umožňuje provádět složité operace formátování také na více řetězcích objektů.

Syntaxe format () je:

 format (value (, format_spec))

format () Parametry

format()Funkce má dva parametry:

  • hodnota - hodnota, kterou je třeba naformátovat
  • format_spec - specifikace, jak má být hodnota formátována.

Specifikátor formátu může být ve formátu:

((fill) align) (sign) (#) (0) (width) (,) (. precision) (type) where, the options are fill :: = any character align :: = "" | "=" | "^" sign :: = "+" | "-" | "" width :: = celočíselná přesnost :: = celočíselný typ :: = "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"

Na těchto odkazech se dozvíte více o typech formátů a zarovnání.

Vrátit hodnotu z format ()

format()Funkce vrací formátovaný reprezentaci dané hodnoty stanovené ve formátu specifikátorem.

Příklad 1: Formátování čísla pomocí 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"))

Výstup

 123 123,456790 1100

Příklad 2: Formátování čísel s výplní, zarovnáním, znaménkem, šířkou, přesností a typem

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

Výstup

 * + 1 234 0123,4570

Zde jsme při formátování celého čísla 1234určili specifikátor formátování *>+7,d. Rozumíme každé možnosti:

  • * - Je to znak výplně, který po naformátování vyplní prázdná místa
  • > - Je to možnost zarovnání vpravo, která zarovná výstupní řetězec doprava
  • + - Je to volba znaménka, která vynutí číslo, které má být podepsáno (se znaménkem nalevo)
  • 7 - Je to volba šířky, která nutí číslo, aby zaujalo minimální šířku 7, ostatní mezery budou vyplněny znakem výplně
  • , - Je to operátor tisíců, který vkládá čárku mezi všechny tisíce.
  • d - Je to volba typu, která určuje, že číslo je celé číslo.

Při formátování čísla s plovoucí desetinnou čárkou 123.4567jsme zadali specifikátor formátu ^-09.3f. Tyto jsou:

  • ^ - Je to možnost zarovnání na střed, která zarovná výstupní řetězec do středu zbývajícího prostoru
  • - - Je to volba znaménka, která vynutí zobrazení pouze záporných čísel
  • 0 - Je to znak, který je umístěn na místo prázdných mezer.
  • 9 - Možnost šířky nastavuje minimální šířku čísla na 9 (včetně desetinné čárky, tisíce čárky a znaménka)
  • .3 - Je to operátor přesnosti, který nastavuje přesnost daného plovoucího čísla na 3 místa
  • f - Je to volba typu, která určuje, že číslo je float.

Příklad 3: Použití format () přepsáním __format __ ()

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

Výstup

 23

Zde jsme přepsali __format__()metodu třídy Person.

Nyní přijímá formatparametr a vrací 23, pokud je rovno 'age'. Pokud není zadán žádný formát, Noneje vrácen.

format()Funkce interně pracuje Person().__format__("age")pro návrat 23.

Zajímavé články...