Oblika Python ()

Vgrajena metoda format () vrne formatirano predstavitev dane vrednosti, ki jo nadzoruje specifikator formata.

format()Funkcija je podobna metodi formata String. Obe metodi interno prikličeta __format__()metodo predmeta.

Medtem ko je vgrajena format()funkcija nizka raven izvedbe za __format__()notranje formatiranje predmeta , je niz format()višja raven izvedbe, ki lahko izvaja tudi zapletene operacije formatiranja več nizov predmetov.

Sintaksa formata () je:

 format (vrednost (, format_spec))

parametri format ()

format()Funkcija ima dva parametra:

  • vrednost - vrednost, ki jo je treba formatirati
  • format_spec - Specifikacija načina oblikovanja vrednosti.

Specifikator oblike je lahko v obliki:

((izpolni) poravnaj) (znak) (#) (0) (širina) (,) (. natančnost) (vrsta), kjer so možnosti fill :: = poljuben znak poravnaj :: = "" | "=" | znak "^" :: = "+" | "-" | "" širina :: = celoštevilska natančnost :: = celoštevilska vrsta :: = "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"

Obiščite te povezave, če želite izvedeti več o vrstah formatov in poravnavi.

Vrnitev vrednosti iz oblike ()

format()Vrne formatiran predstavitev določene vrednosti, ki jo določi določa obliko.

Primer 1: Oblikovanje števil s formatom ()

 # d, f and b are type # integer print(format(123, "d")) # float arguments print(format(123.4567898, "f")) # binary format print(format(12, "b"))

Izhod

 123 123,456790 1100

Primer 2: Oblikovanje števil z zapolnitvijo, poravnavo, podpisom, širino, natančnostjo in vrsto

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

Izhod

 * + 1.234 0123,4570

Tukaj smo pri formatiranju celotnega števila 1234določili oblikovalec *>+7,d. Razumejmo vsako možnost:

  • * - Znak za zapolnitev zapolni prazne prostore po formatiranju
  • > - To je prava možnost poravnave, ki poravna izhodni niz v desno
  • + - To je možnost znaka, ki prisili številko, da se podpiše (z znakom na levi)
  • 7 - Možnost širine je tista, ki sili, da število zavzame najmanj 7 širin, drugi prostori bodo zapolnjeni z znakom za polnjenje
  • , - Operater na tisoče postavlja vejico med vse tisoče.
  • d - Možnost tipa določa, da je število celo število.

Pri formatiranju številke s plavajočo vejico 123.4567smo določili format ^-09.3f. To so:

  • ^ - Sredinska poravnava je tista, ki poravna izhodni niz na sredino preostalega prostora
  • - - Možnost znaka je tista, ki sili prikazuje le negativne številke
  • 0 - To je znak, ki je nameščen namesto praznih prostorov.
  • 9 - Možnost širine določa najmanjšo širino števila na 9 (vključno z decimalno vejico, tisočico vejico in znakom)
  • .3 - Natančnost operatorja je tista, ki natančnost dane plavajoče številke nastavi na 3 mesta
  • f - Možnost tipa določa, da je število float.

Primer 3: Uporaba formata () s preglasitvijo __format __ ()

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

Izhod

 23.

Tu smo preglasili __format__()metodo razreda Person.

Zdaj sprejme formatparameter in vrne 23, če je enak 'age'. Če format ni določen, Nonese vrne.

format()Funkcija notranje teče Person().__format__("age")vrniti 23.

Zanimive Članki...