Cos'è il formato Python String ()?
Python String format () è una funzione utilizzata per sostituire, sostituire o convertire la stringa con segnaposto con valori validi nella stringa finale. È una funzione incorporata della classe string Python, che restituisce la stringa formattata come output. I segnaposto all'interno della stringa sono definiti tra parentesi graffe.
Ad esempio, "Benvenuto in Guru99 {}". Formato ('valore qui').
In questo tutorial imparerai:
- Cos'è il formato Python String ()?
- Sintassi della funzione format () in Python
- Come funziona string format ()?
- Esempio: segnaposto vuoto sostituito con un valore stringa
- Esempio: segnaposto vuoto sostituito con un valore numerico
- Esempio: utilizzo di argomenti variabili o parole chiave all'interno del segnaposto
- Esempio: utilizzo dell'indice o di argomenti posizionali all'interno del segnaposto
- Formattazione all'interno dei segnaposto
- Usare la classe con format ()
- Utilizzo del dizionario con format ()
- Sostituzioni variabili di riempimento
Sintassi della funzione format () in Python
templatestring.format(val1, val2… )
Parametri
val1, val2…: i valori che devono essere sostituiti nella stringa del modello data che ha segnaposto sotto forma di parentesi graffe {}. I segnaposto possono essere una stringa, una coppia chiave / valore, numeri interi, numeri in virgola mobile, caratteri, ecc.
Valore di ritorno:
Restituirà la stringa finale, con i valori validi sostituiti al posto dei segnaposto forniti tra parentesi graffe.
Segnaposto
I segnaposto nella stringa del modello sono rappresentati utilizzando parentesi graffe, ad esempio {}. Il segnaposto può essere vuoto {}, oppure può avere una variabile ad esempio {nome}, oppure può avere un indice numerico, ad esempio {0}, {1} ecc
Come funziona string format ()?
Il metodo Python String format () analizzerà le stringhe originali alla ricerca di segnaposto. I segnaposto possono essere parentesi graffe vuote ({}), argomenti posizionali, ad esempio la stringa può avere segnaposto con indice 0, 1 per es. {0}, {1} ecc.
Per gli argomenti delle parole chiave, il nome della variabile sarà presente all'interno delle parentesi graffe per es. {Nome}, {età}. Nel caso di parentesi graffe vuote, i valori del formato verranno sostituiti all'interno delle parentesi graffe in sequenza.
Il primo valore verrà sostituito con la prima parentesi graffa vuota, seguita da quella successiva. Per gli argomenti posizionali, l'indice inizierà da 0 e così via. I valori saranno disponibili in formato separati da una virgola, e lo 0 ° valore punterà al primo formato valore all'interno e così via.
Per gli argomenti delle parole chiave, ovvero quando si utilizza una variabile all'interno dei segnaposto, è possibile avere l'ordine dei valori all'interno del formato di cui si ha bisogno.
L'ordine non ha importanza qui poiché i valori verranno sostituiti in base al nome della variabile presente in format (). Di seguito sono riportati alcuni esempi di come utilizzare i segnaposto all'interno di una stringa come vuoti, posizionali e utilizzando parole chiave o variabili.
Esempio: segnaposto vuoto sostituito con un valore stringa
Nell'esempio seguente, la stringa ha parentesi graffe vuote ({}). Il valore assegnato al formato verrà sostituito all'interno delle parentesi graffe ({}).
Il valore che vogliamo sostituire è una stringa.
Esempio:
Usando la formattazione delle stringhe in Python, vogliamo che le parentesi graffe ({}) vengano sostituite con un valore di stringa. Il valore è dato a format ("Guru99"). Durante l'esecuzione, le parentesi graffe {} vengono sostituite con Guru99 e otterrai la stringa finale come tutorial di benvenuto in Guru99.
print ("Welcome to {} tutorials".format("Guru99"))
Produzione:
Welcome to Guru99 tutorials
Esempio: segnaposto vuoto sostituito con un valore numerico
Nell'esempio seguente, vogliamo che il valore numerico venga sostituito all'interno della stringa originale. Le parentesi graffe ({}) vengono aggiunte al punto in cui è necessario il valore numerico. Quando viene eseguito, le parentesi graffe vuote ({}) vengono sostituite con il valore numerico.
Esempio:
Puoi anche usare format () per inserire numeri all'interno della tua stringa. L'esempio mostrerà come sostituire il segnaposto vuoto {} con il numero 99 presente all'interno di format ().
print ("Welcome to Guru{} Tutorials".format("99"))
Produzione:
Welcome to Guru99 Tutorials
Esempio: utilizzo di argomenti variabili o parole chiave all'interno del segnaposto
È anche possibile utilizzare variabili all'interno delle parentesi graffe, come mostrato nell'esempio seguente. Le variabili sono definite all'interno di format (). Pertanto, quando viene eseguito, il valore assegnato alla variabile viene sostituito all'interno della stringa originale.
Esempio:
È possibile utilizzare variabili all'interno di parentesi graffe, ad esempio {nome} {num}. I valori per nome e num variabile sono disponibili all'interno del formato, ad esempio formato (nome = "Guru", num = "99"). I valori dati a nome e num verranno sostituiti all'interno di {nome} e {num}.
print ("Welcome to {name}{num} Tutorials".format(name="Guru", num="99"))
Produzione:
Welcome to Guru99 Tutorials
Esempio: utilizzo dell'indice o di argomenti posizionali all'interno del segnaposto
I valori possono essere sostituiti utilizzando indici come 0, 1, 2 all'interno dei segnaposto. Il valore verrà scelto in ordine dal formato (), come mostrato nell'esempio seguente.
Esempio:
print ("Welcome to {0}{1} Tutorials".format("Guru","99"))
Produzione:
Welcome to Guru99 Tutorials
Esempio: utilizzo di più segnaposto all'interno di una stringa
In questo esempio, utilizzeremo più segnaposto vuoti.
Esempio:
La stringa utilizzata nell'esempio ha più segnaposto vuoti e ogni segnaposto farà riferimento a un valore all'interno di format (). Il primo valore verrà sostituito per il primo segnaposto e così via.
print ("{} is {} new kind of {} experience!".format("Guru99", "totally","learning"))
Produzione:
Guru99 is totally new kind of learning experience!
Formattazione all'interno dei segnaposto
Hai visto che è possibile avere Segnaposto come vuoto, con una variabile o un indice. È anche possibile applicare la formattazione delle stringhe Python all'interno del segnaposto.
Ecco l'elenco dei formati
Formato | Descrizione | Esempio |
---|---|---|
: d | Fornirà l'output in formato decimale quando viene utilizzato all'interno del segnaposto | print("The binary to decimal value is : {:d}".format(0b0011)) Produzione:
The binary to decimal value is : 3 |
: b | Fornirà l'output in formato binario quando viene utilizzato all'interno del segnaposto | print("The binary value is : {:b}".format(500)) Produzione:
The binary value is : 111110100 |
: e | Fornirà l'output in formato scientifico quando viene utilizzato all'interno del segnaposto, l'esponente e nell'output sarà minuscolo. | print("The scientific value is : {:e}".format(40)) Produzione:
The scientific format value is : 4.000000e+01 |
: E | Fornirà l'output in formato scientifico quando viene utilizzato all'interno del segnaposto, l'esponente E nell'output sarà maiuscolo | print("The scientific value is : {:E}".format(40)) Produzione:
The scientific value is : 4.000000E+01 |
: f | Questo produrrà un formato numerico a virgola fissa. Per impostazione predefinita, otterrai l'output di qualsiasi numero con sei cifre decimali. Nel caso in cui siano necessarie fino a 2 cifre decimali, usalo come. 2f cioè ... un punto (.) Davanti a 2f | print("The value is : {:f}".format(40)) Produzione:
The value is : 40.000000Esempio: visualizzazione dell'output fino a 2 cifre decimali. print("The value is : {:.2f}".format(40)) Produzione:
The value is: 40.00 |
: o | Questo produrrà il formato ottale | print("The value is : {:o}".format(500)) Produzione:
The value is : 764 |
:X | Questo produrrà il formato esadecimale in minuscolo | print("The value is : {:x}".format(500)) Produzione:
The value is : 1f4 |
:X | Questo produrrà il formato esadecimale in maiuscolo. | print("The value is : {:X}".format(500)) Produzione:
The value is : 1F4 |
: n | Questo produrrà il formato del numero. | print("The value is : {:n}".format(500.00)) Produzione:
The value is : 500 |
:% | Questo darà l'output in un formato percentuale. Per impostazione predefinita fornirà 6 cifre decimali per l'output percentuale, nel caso in cui non si desideri alcun valore decimale è possibile utilizzare il punto con 0, ovvero (: .0%). | print("The value is : {:%}".format(0.80)) Produzione:
The value is : 80.000000%Questo esempio mostra come saltare le posizioni decimali utilizzando {: .0%} all'interno del segnaposto. print("The value is : {:.0%}".format(0.80)) Produzione:
The value is: 80% |
: _ | Questo produrrà un trattino basso come mille separatori. È disponibile da python 3.6+. | print("The value is {:_}".format(1000000)) Produzione:
The value is : 1_000_000 |
:, | Questo produrrà la virgola come separatore delle migliaia | print("The value is : {:,}".format(1000000)) Produzione:
The value is : 1,000,000Viene aggiunta la virgola (,) come separatore di mille come mostrato nell'output. |
: | Questo aggiungerà uno spazio prima di qualsiasi numero positivo | Questo esempio mostra come aggiungere spazio o spaziatura interna prima del numero specificato. Il numero 5 indica il conteggio degli spazi che desideri prima del numero. print("The value is: {:5}".format(40)) Produzione:
The value is: 40 |
: - | Questo aggiungerà un segno meno prima dei numeri negativi | L'esempio mostra come ottenere l'output con un segno meno (-) prima del numero utilizzando {: -}. print("The value is: {:-}".format(-40)) Produzione:
The value is: -40 |
: + | È possibile utilizzare il segno più per indicare che il numero è positivo | L'esempio mostra come ottenere l'output con un segno più (+) prima del numero utilizzando {: +}. print("The value is: {:+}".format(40)) Produzione:
The value is: +40 |
: = | L'uguale a viene utilizzato per posizionare il segno +/- sul lato sinistro. | L'esempio mostra come ottenere l'output con un segno più (+/-) prima di uguale al segno utilizzando {: =}. print("The value is {:=}".format(-40)) Produzione:
The value is -40 |
: | Questo centrerà l'allineamento del risultato finale | L'esempio mostra l'utilizzo di {: ^} per allineare il testo al centro. Il numero 10 viene utilizzato per aggiungere 10 spazi per mostrare l'allineamento al centro quando il valore viene sostituito. print("The value {:^10} is positive value".format(40)) Produzione:
The value 40 is a positive valueQui puoi usare 10 che aggiungerà 10 spazi nel testo finale e il valore da sostituire sarà allineato al centro tra i 10 spazi. Gli spazi di 10 vengono aggiunti solo per mostrare l'allineamento al centro del valore sostituito. |
:> | Questo allineerà a destra il risultato finale | Lo spazio di 10 viene aggiunto utilizzando (:> 10) e il valore sostituito viene allineato a destra. print("The value {:>10} is positive value".format(40)) Produzione:
The value 40 is positive value |
: < | Questo lascerà allineare il risultato finale | Lo spazio di 10 viene aggiunto utilizzando (: <10) e il valore sostituito viene allineato a sinistra. print("The value {:<10} is positive value".format(40)) Produzione:
The value 40 is positive value |
Usare la classe con format ()
In questo esempio, creiamo una classe e utilizziamo l'oggetto della classe all'interno del metodo Python .format. I segnaposto faranno riferimento alle proprietà o ai membri della classe utilizzando l'oggetto della classe.
Esempio:
La classe viene chiamata all'interno del formato (c = MyClass ()). L'oggetto c avrà il riferimento alle proprietà e ai metodi all'interno della classe MyClass ().
class MyClass:msg1="Guru"msg2="Tutorials"print("Welcome to {c.msg1}99 {c.msg2}!".format(c=MyClass()))
Produzione:
Welcome to Guru99 Tutorials!
Utilizzo del dizionario con format ()
È anche possibile utilizzare il dizionario all'interno di format () come mostrato nell'esempio seguente:
my_dict = {'msg1': "Welcome", 'msg2': 'Guru99'}print("{m[msg1]} to {m[msg2]} Tutorials!".format(m=my_dict))
Produzione:
Welcome to Guru99 Tutorials!
Sostituzioni variabili di riempimento
Usando il metodo string.format (), puoi aggiungere padding, spazio usando i segnaposto all'interno della tua stringa.
Esempio:
Nell'esempio seguente verrà aggiunto spazio all'interno del segnaposto utilizzando il formato (). Per aggiungere spazio, è necessario specificare il numero di spazi all'interno delle parentesi graffe dopo i due punti (:). Quindi il segnaposto sarà simile a {: 5}.
print("I have {:5} dogs and {:5} cat".format(2,1))
Produzione:
I have 2 dogs and 1 cat
Puoi anche fornire l'indice all'interno del segnaposto, ad esempio: {0: 5} dove 0 si riferirà al primo valore all'interno del formato.
print("I have {0:5} dogs and {1:5} cat".format(2,1))
Produzione:
I have 2 dogs and 1 cat
Sommario
- La classe stringa Python ci fornisce un importante comando incorporato chiamato format () che ci aiuta a sostituire, sostituire o convertire la stringa con segnaposto con valori validi nella stringa finale.
- I segnaposto all'interno del modulo stringa Python sono definiti tra parentesi graffe, ad esempio, "Benvenuto in Guru99 {}". Format ('valore qui').
- Il segnaposto può essere vuoto {}, oppure può avere una variabile ad esempio {nome}, oppure può avere un indice numerico, ad esempio {0}, {1} ecc
- È possibile utilizzare la formattazione delle stringhe in Python all'interno di segnaposto che possono aiutare ad aggiungere padding, allineare al centro e anche aiutare con la formattazione dei numeri.