Python String format() Spiegare con gli ESEMPI

โšก Riepilogo intelligente

Python Il metodo `string format()` รจ un metodo integrato che sostituisce i segnaposto tra parentesi graffe all'interno di una stringa modello con i valori forniti. I segnaposto accettano parentesi vuote, indici posizionali o nomi di parole chiave e supportano specificatori di formato per numero, allineamento e spaziatura per l'output finale.

  • ๐Ÿ”ค Segnaposto: Le parentesi graffe {} indicano dove vanno inseriti i valori: vuoti, numerati {0} o denominati {name}.
  • ๐Ÿ”ข Posizionale e parola chiave: La funzione format() riempie le parentesi vuote in ordine, in base alla posizione dell'indice o in base alla corrispondenza con i nomi delle parole chiave.
  • ๏ธ Identificatori di formato: I due punti aggiungono codici come {:d}, {:b}, {:.2f} e {:x} per l'output decimale, binario, a virgola fissa ed esadecimale.
  • โ†”๏ธ Allineamento e spaziatura: Per allargare i numeri con testo centrato {:^10} o {:,}, aggiungere spazi e inserire i separatori delle migliaia.
  • ๐Ÿงฑ Oggetti e dizionari: I segnaposto leggono gli attributi di classe con {c.attr} e i valori del dizionario con {m[key]}.
  • ๐Ÿค– Assistenza AI: Gli assistenti di programmazione basati sull'IA generano chiamate format() e i relativi f-string a partire da input in linguaggio naturale.

Python Formato stringa()

Cosa รจ 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, โ€œBenvenuti a Guru99 {}โ€.format('valore qui').

Sintassi della funzione format() in Python

templatestring.format(val1, val2...)

Scheda Sintetica

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()?

Migliori 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 fornito a format(โ€œGuru99โ€). In fase di esecuzione, le parentesi graffe {} vengono sostituite con Guru99 e otterrai la stringa finale come Benvenuto a Guru99 tutorial.

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:

รˆ possibile utilizzare variabili all'interno di parentesi graffe, ad esempio {name} {num}. I valori per le variabili name e num sono disponibili all'interno del formato, ovvero format(name=โ€Guruโ€, num=โ€99โ€ณ). I valori assegnati 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

DOMANDE FREQUENTI

corde f, aggiunte in Python 3.6, incorpora le espressioni direttamente e di solito sono piรน veloci. Il metodo format() funziona ancora sulle versioni precedenti Python versioni e quando il modello proviene da una variabile, un file o un input dell'utente.

L'operatore % utilizza simboli in stile printf come %s e %d, mentre format() utilizza segnaposto tra parentesi graffe che supportano nomi, indici e specificatori piรน ricchi. La sua gestione piรน pulita del riordino e del layout รจ il motivo per cui format() ha sostituito % nel codice moderno.

Double le bretelle per sfuggire loro. Typing due parentesi graffe di apertura stampano una parentesi graffa letterale e due parentesi graffe di chiusura stampano una parentesi graffa di chiusura, quindi un segnaposto reale funziona comunque insieme alle parentesi graffe letterali all'interno della stessa stringa del modello.

Un valore posizionale mancante genera un IndexError, mentre una parola chiave o un nome di dizionario mancante genera un KeyError. รˆ consentito passare piรน valori rispetto ai segnaposto e questi vengono semplicemente ignorati, quindi solo i riferimenti assenti, non quelli in eccesso, causano un errore.

Il metodo format() funziona in Python 2.6 e ogni Python 3 release. La numerazione automatica dei campi, in cui le parentesi graffe rimangono vuote invece di scrivere {0} {1}, รจ necessaria Python 2.7 o 3.1 e versioni successive.

No. Python Le stringhe sono immutabili, quindi format() crea e restituisce una stringa completamente nuova lasciando invariato il template. Assegna il risultato a una variabile, ad esempio message = template.format(value), per conservare il testo formattato per un utilizzo successivo.

Il codice di apprendimento automatico utilizza la funzione format() per creare log leggibili, assemblare modelli di prompt per i modelli linguistici e stampare metriche come l'accuratezza con un numero fisso di decimali. Un output formattato in modo chiaro semplifica il confronto tra esperimenti e report dei modelli.

Sรฌ. GitHub Copilot completa automaticamente le chiamate a format() e i relativi specificatori a partire da un breve commento che descrive l'output desiderato. Gli assistenti AI di Agentic vanno oltre, convertendo format() in f-string, correggendo l'allineamento ed eseguendo automaticamente i test.

Riassumi questo post con: