English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Il metodo nativo format() formatta il valore specificato nel formato specificato.
Il metodo format() è simile aFormattazione stringaMetodo. Internamente, entrambi i metodi chiamano il metodo __format__() dell'oggetto.
Il metodo nativo format() è un'implementazione interna del metodo di formattazione di base __format__(), mentre il format() di stringa è una implementazione avanzata che può eseguire operazioni di formattazione complesse su più oggetti stringa.
Sintassi di format()
format(value[, format_spec])
Il metodo format() accetta due parametri:
value -valore da formattare
format_spec-Norme per impostare la formattazione dei valori.
I simboli di formato possono essere utilizzati nel seguente formato:
[[fill]align][sign][#][0][width][,][.precision][type] dove le opzioni sono fill := qualsiasi carattere align := "<" | ">" | "=" | "^" sign := "+" | "-" | " " width := intero precision := intero type := "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
Puoi conoscere di più suTipo di formatoeModalità di allineamentoPiù informazioni.
Il metodo format() formatta il valore specificato nel formato specificato.
# d, f e b sono tipi # Intero print(format(123, "d")) # Parametro a virgola mobile print(format(123.4567898, "f")) # Parametro binario print(format(12, "b"))
Quando si esegue il programma, l'output è:
123 123.456790 1100
# Intero print(format(1234, "*>+7,d")) # Parametro a virgola mobile print(format(123.4567, "^-09.3f"))
Quando si esegue il programma, l'output è:
*+1,234 0123.4570
Qui, quando formattiamo l'intero 1234, specifichiamo il descrittore di formattazione * <+ 7,d. Ecco il significato di ogni opzione:
* - È il carattere di riempimento utilizzato per riempire gli spazi vuoti dopo la formattazione
> - È un'opzione di allineamento a destra che può allineare la stringa di output a destra
+ - È un'opzione di simbolo che forza la firma del numero (con un simbolo a sinistra)
7-L'opzione di larghezza forza il numero a utilizzare la larghezza minima di 7, gli spazi rimanenti vengono riempiti con il carattere di riempimento
, - L'operatore di migliaia inserisce virgole tra tutte le migliaia
d - È un'opzione di tipo che specifica il numero come intero.
Quando formattiamo il numero decimale 123.4567, specifichiamo il descrittore di formato ^ -09.3f. Questi sono:
^ - È un'opzione di allineamento centrale che può allineare il stringa di output al centro dello spazio rimanente
--L'opzione di simbolo forza l'uso del simbolo solo per i numeri negativi
0-È il carattere di sostituzione per gli spazi vuoti.
9-Utilizzando l'opzione width, si imposta la larghezza minima del numero a 9 (incluso il punto decimale, la virgola migliaia e il simbolo)
.3-L'operatore di precisione imposta la precisione del numero decimale a 3 cifre
f - È un'opzione di tipo che specifica il numero come numero decimale.
# Definire il metodo __format__() personalizzato class Person: def __format__(self, format): if(format == 'age'): return '23' return 'None' print(format(Person(), "age"))
Quando si esegue il programma, l'output è:
23
Qui, abbiamo sovrascritto il metodo __format__() della classe Person.
Ora, accetta il parametro code> age per restituire 23. Se non viene specificato il formato, viene restituito None.
Il metodo format() esegue internamente Person().__format__("age") e restituisce 23.