English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python Basic Tutorial

Python Flow Control

Funzione in Python

Tipi di dati in Python

Python File Operations

Python Objects and Classes

Python Data and Time

Conoscenze avanzate di Python

Manuale di riferimento di Python

Utilizzo e esempio di format() in Python

Funzioni integrate di Python

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])

Parametri di format()

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.

Valore di ritorno di format()

Il metodo format() formatta il valore specificato nel formato specificato.

Esempio 1: Formattazione dei numeri con format()

# 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

Esempio 2: Formattazione dei numeri con riempimento, allineamento, segno, larghezza, precisione e tipo

# 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.

Esempio 3: Utilizzo di format() tramite la sovrascrittura di __format__ ()

# 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.

Funzioni integrate di Python