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 1234
določ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.4567
smo 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 številke0
- 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 mestaf
- 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 format
parameter in vrne 23, če je enak 'age'
. Če format ni določen, None
se vrne.
format()
Funkcija notranje teče Person().__format__("age")
vrniti 23.