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 segno0
- È 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 posizionif
- È 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 format
parametro e restituisce 23 se è uguale a 'age'
. Se non viene specificato alcun formato, None
viene restituito.
La format()
funzione viene eseguita internamente Person().__format__("age")
per restituire 23.