Python String format() Spiegare con gli ESEMPI

Che cos'è la Python Formato stringa()?

Python Formato stringa() è una funzione utilizzata per sostituire, sostituire o convertire la stringa con segnaposto con valori validi nella stringa finale. È una funzione integrata di Python classe string, che restituisce la stringa formattata come output. I segnaposto all'interno della stringa sono definiti tra parentesi graffe.

Ad esempio, "Benvenuto in Guru99 {}".format('valore qui').

Sintassi della funzione format() in Python

templatestring.format(val1, val2...)

parametri

val1, val2… : I valori che devono essere sostituiti nella stringa modello specificata 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 indicati tra parentesi graffe.

segnaposto

I segnaposto nella stringa modello sono rappresentati tramite parentesi graffe, ad esempio {}. Il segnaposto può essere vuoto {}, oppure può avere una variabile per esempio {name}, oppure può avere un indice numerico per esempio {0}, {1} ecc.

Come funziona string format()?

Le Python Formato stringa() il metodo analizzerà le stringhe originali per i segnaposto. I segnaposto possono essere parentesi graffe vuote ({}), argomenti posizionali, ovvero la stringa può avere segnaposto con indice 0, 1 per esempio {0}, {1} ecc.

Per gli argomenti delle parole chiave, il nome della variabile sarà presente all'interno delle parentesi graffe, ad esempio {name}, {age}. Nel caso di parentesi graffe vuote, i valori del formato saranno 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 separato da virgole e 0th value punterà al primo valore all'interno di format e così via.

Per gli argomenti Parola chiave, ovvero quando usi una variabile all'interno dei segnaposto, puoi avere l'ordine dei valori all'interno del formato di cui hai bisogno.

L'ordine non ha importanza qui poiché i valori verranno sostituiti in base al nome della variabile presente in format(). Ecco 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 fornito al formato verrà sostituito all'interno delle parentesi graffe ({}).

Il valore che vogliamo venga sostituito è una stringa.

Esempio:

Utilizzo della formattazione delle stringhe in Python, vogliamo che le parentesi graffe ({}) vengano sostituite con un valore stringa. Il valore viene dato a format(“Guru99”). Durante l'esecuzione, le parentesi graffe {} vengono sostituite con Guru99 e otterrai la stringa finale come Benvenuti nei tutorial di 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 nel punto in cui serve il valore numerico. Quando viene eseguito, le parentesi graffe vuote ({}) vengono sostituite con il valore numerico.

Esempio:

Puoi anche utilizzare format() per inserire numeri all'interno della 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:

Puoi usare variabili all'interno di parentesi graffe, ad esempio {name} {num}. I valori per le variabili name e num sono disponibili all'interno del formato, ad esempio format(name="Guru", num="99"). I valori forniti a name e num verranno sostituiti all'interno di {name} e {num}.

print ("Welcome to {name}{num} Tutorials".format(name="Guru", num="99"))

Produzione:

Welcome to Guru99 Tutorials

Esempio: utilizzo di indici o argomenti posizionali all'interno del segnaposto

I valori possono essere sostituiti utilizzando indici come 0, 1, 2 all'interno dei segnaposto. Il valore verrà selezionato in ordine da format(), 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 ciascun segnaposto farà riferimento a un valore all'interno di format() . Il primo valore verrà sostituito dal 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 Placeholder vuoto, con una variabile o un indice. È anche possibile che tu possa candidarti Python Formattazione della stringa all'interno del segnaposto.

Ecco l'elenco dei formati

Formato Descrizione Esempio
:d Fornirà l'output in formato decimale se 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 se 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 se 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 se 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 Ciò 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, utilizzalo come. 2f es. un punto (.) davanti a 2f print("The value is : {:f}".format(40))

Produzione:

The value is  : 40.000000

Esempio: 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 Ciò restituirà il formato esadecimale in minuscolo print("The value is : {:x}".format(500))

Produzione:

The value is  : 1f4
:X Ciò restituirà il formato esadecimale in maiuscolo. print("The value is : {:X}".format(500))

Produzione:

The value is  : 1F4
:n Questo produrrà il formato numerico. print("The value is : {:n}".format(500.00))

Produzione:

The value is  : 500
:% Ciò fornirà l'output in formato percentuale.
Per impostazione predefinita fornirà 6 cifre decimali per l'output percentuale, nel caso in cui non desideri alcun valore decimale puoi 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 cifre decimali utilizzando {:.0%} all'interno del segnaposto.

print("The value is : {:.0%}".format(0.80))
Produzione:

The value is: 80%
:_ Ciò produrrà un carattere di sottolineatura come separatore di mille. È disponibile da Python 3.6+. print("The value is {:_}".format(1000000))

Produzione:

The value is  : 1_000_000
:, Ciò restituirà la virgola come separatore delle migliaia print("The value is : {:,}".format(1000000))

Produzione:

The value is  : 1,000,000

Viene aggiunta la virgola(,) come separatore delle migliaia, come mostrato nell'output.

: Ciò aggiungerà uno spazio prima di qualsiasi numero positivo Questo esempio mostra come aggiungere spazio o riempimento 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
:- Ciò 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 viene utilizzato per posizionare il segno +/- sul lato sinistro. L'esempio mostra come ottenere l'output con un segno più (+/-) prima del segno uguale utilizzando {:=}.

print("The value is {:=}".format(-40))

Produzione:

The value is -40
:^ Questo centrerà l'allineamento del risultato finale L'esempio mostra come utilizzare {:^} per centrare e allineare il testo. Il numero 10 viene utilizzato per aggiungere 10 spazi per mostrare il centro allineato quando il valore viene sostituito.

print("The value {:^10} is positive value".format(40))

Produzione:

The value     40     is a positive value

Qui puoi utilizzare 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 centrale del valore sostituito.

:> Questo allineerà a destra il risultato finale Lo spazio 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
:< Ciò allineerà a sinistra il risultato finale Lo spazio 10 viene aggiunto utilizzando (:<10) e il valore sostituito è allineato a sinistra.

print("The value {:<10} is positive value".format(40))

Produzione:

The value 40         is positive value

Utilizzando la classe con format()

In questo esempio, stiamo creando una classe e utilizziamo l'oggetto della classe all'interno del formato .format Python metodo. I segnaposto faranno riferimento alle proprietà o ai membri della classe che utilizzano l'oggetto della classe.

Esempio:

La classe viene chiamata all'interno del format(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!

Utilizzando il 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 di variabili di riempimento

Utilizzando il metodo string.format(), puoi aggiungere spaziatura interna utilizzando i segnaposto all'interno della stringa.

Esempio:

Nell'esempio seguente verrà aggiunto spazio all'interno del segnaposto usando format(). Per aggiungere spazio, devi specificare il numero di spazi all'interno delle parentesi graffe dopo i due punti (:). Quindi il segnaposto apparirà come {: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

  • Python La classe string ci fornisce un importante comando integrato 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 string Python sono definiti tra parentesi graffe, ad esempio, "Benvenuti su Guru99 {}".format('valore qui').
  • Il segnaposto può essere vuoto {}, oppure può avere una variabile per esempio {name} o può avere un indice numerico per esempio {0} , {1} ecc.
  • Puoi utilizzare la formattazione delle stringhe in Python segnaposto interni che possono aiutare ad aggiungere riempimento, allineamento centrale e anche aiutare con la formattazione dei numeri.