Formato Python ()

Il metodo format () integrato restituisce una rappresentazione formattata del valore dato controllato dall'identificatore di formato.

La format()funzione è simile al metodo del formato String. Internamente, entrambi i metodi chiamano il __format__()metodo di un oggetto.

Sebbene la format()funzione incorporata sia un'implementazione di basso livello per la formattazione di un oggetto utilizzando __format__()internamente, la stringa format()è un'implementazione di livello superiore in grado di eseguire operazioni di formattazione complesse anche su più stringhe di oggetti.

La sintassi di format () è:

 formato (valore (, formato_spec))

format () Parametri

La format()funzione accetta due parametri:

  • valore - valore che deve essere formattato
  • format_spec - La specifica su come il valore deve essere formattato.

L'identificatore di formato potrebbe essere nel formato:

((fill) align) (sign) (#) (0) (width) (,) (. precision) (type) dove, le opzioni sono fill :: = any character align :: = "" | "=" | Segno "^" :: = "+" | "-" | "" larghezza :: = precisione intera :: = tipo intero :: = "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"

Visita questi link per saperne di più sui tipi di formato e sull'allineamento.

Valore restituito da format ()

La format()funzione restituisce una rappresentazione formattata di un dato valore specificato dall'identificatore di formato.

Esempio 1: formattazione del numero con 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"))

Produzione

 123 123.456790 1100

Esempio 2: formattazione del numero con riempimento, allineamento, segno, larghezza, precisione e tipo

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

Produzione

 * + 1.234 0123.4570

Qui, durante la formattazione del numero intero 1234, abbiamo specificato lo specificatore di formattazione *>+7,d. Comprendiamo ogni opzione:

  • * - È il carattere di riempimento che riempie gli spazi vuoti dopo la formattazione
  • > - È l'opzione di allineamento a destra che allinea la stringa di output a destra
  • + - È l'opzione segno che forza la firma del numero (con un segno alla sua sinistra)
  • 7 - È l'opzione larghezza che forza il numero a prendere una larghezza minima di 7, gli altri spazi saranno riempiti dal carattere di riempimento
  • , - È l'operatore delle migliaia che inserisce una virgola tra tutte le migliaia.
  • d - È l'opzione del tipo che specifica che il numero è un numero intero.

Durante la formattazione del numero in virgola mobile 123.4567, abbiamo specificato l'identificatore di formato ^-09.3f. Questi sono:

  • ^ - È l'opzione di allineamento al centro che allinea la stringa di output al centro dello spazio rimanente
  • - - È l'opzione segno che forza solo i numeri negativi a mostrare il segno
  • 0 - È il personaggio che viene posto al posto degli spazi vuoti.
  • 9 - È l'opzione di larghezza che imposta la larghezza minima del numero su 9 (incluso punto decimale, virgola delle migliaia e segno)
  • .3 - È l'operatore di precisione che imposta la precisione del numero mobile dato a 3 posizioni
  • f - È l'opzione type che specifica che il numero è un float.

Esempio 3: utilizzo di format () sovrascrivendo __format __ ()

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

Produzione

 23

Qui abbiamo sovrascritto il __format__()metodo della classe Person.

Ora accetta un formatparametro e restituisce 23 se è uguale a 'age'. Se non viene specificato alcun formato, Noneviene restituito.

La format()funzione viene eseguita internamente Person().__format__("age")per restituire 23.

Articoli interessanti...