Format Python ()

Metoda built-in format () returnează o reprezentare formatată a valorii date controlată de specificatorul de format.

format()Funcția este similară cu metoda formatul String. Pe plan intern, ambele metode numesc __format__()metoda unui obiect.

În timp ce funcția încorporată format()este o implementare de nivel scăzut pentru formatarea unui obiect folosind __format__()intern, șirul format()este o implementare de nivel superior capabilă să efectueze operațiuni de formatare complexe și pe mai multe șiruri de obiecte.

Sintaxa formatului () este:

 format (valoare (, format_spec))

format () Parametri

format()Funcția are doi parametri:

  • valoare - valoare care trebuie formatată
  • format_spec - Specificația privind modul în care trebuie formatată valoarea.

Specificatorul de format poate fi în format:

((fill) align) (sign) (#) (0) (width) (,) (. precision) (type) unde, opțiunile sunt fill :: = orice caracter align :: = "" | "=" | semnul „^” :: = "+" | "-" | "" width :: = integer precision :: = integer type :: = "b" | "c" | "d" | „e” | „E” | "f" | „F” | "g" | „G” | "n" | "o" | „s” | „x” | „X” | „%”

Accesați aceste linkuri pentru a afla mai multe despre tipurile de format și alinierea.

Returnează valoarea din format ()

format()Funcția returnează o reprezentare formatată a unei valori date specificată de specificatorul de format.

Exemplul 1: formatarea numerelor cu 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"))

Ieșire

 123 123.456790 1100

Exemplul 2: formatarea numerelor cu umplere, aliniere, semnare, lățime, precizie și tip

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

Ieșire

 * + 1.234 0123.4570

Aici, la formatarea numărului întreg 1234, am specificat specificatorul de formatare *>+7,d. Să înțelegem fiecare opțiune:

  • * - Este caracterul de umplere care umple spațiile goale după formatare
  • > - Este opțiunea de aliniere dreaptă care aliniază șirul de ieșire la dreapta
  • + - Opțiunea de semnare care forțează semnarea numărului (având un semn în stânga)
  • 7 - Este opțiunea de lățime care forțează numărul să ia o lățime minimă de 7, alte spații vor fi umplute cu caracter de umplere
  • , - Operatorul de mii plasează o virgulă între toate mii.
  • d - Opțiunea de tip care specifică numărul este un număr întreg.

La formatarea numărului în virgulă mobilă 123.4567, am specificat specificatorul de format ^-09.3f. Acestea sunt:

  • ^ - Este opțiunea de aliniere centrală care aliniază șirul de ieșire la centrul spațiului rămas
  • - - Este opțiunea semn care forțează doar numerele negative să afișeze semnul
  • 0 - Este personajul care este plasat în locul spațiilor goale.
  • 9 - Este opțiunea de lățime care setează lățimea minimă a numărului la 9 (inclusiv punctul zecimal, virgula de mii și semn)
  • .3 - Este operatorul de precizie care setează precizia numărului flotant dat la 3 locuri
  • f - Opțiunea de tip care specifică numărul este un float.

Exemplul 3: Utilizarea formatului () prin suprascrierea __formatului __ ()

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

Ieșire

 23

Aici, am trecut peste __format__()metoda clasei Person.

Acceptă acum un formatparametru și returnează 23 dacă este egal cu 'age'. Dacă nu este specificat niciun format, Noneeste returnat.

format()Funcția se execută pe plan intern Person().__format__("age")pentru a reveni 23.

Articole interesante...