Come formattare le stringhe in Python (f-strings e formato)
Impara le migliori tecniche di formattazione delle stringhe in Python. Confronta le moderne stringhe f, format() e la formattazione percentuale con esempi di codice.
Panoramica
La formattazione delle stringhe è una necessità quotidiana per il rendering delle variabili all'interno dei messaggi, l'output di log, la stampa dei debug della console e la creazione di pagine web. Python ha evoluto significativamente la formattazione delle stringhe nel corso degli anni, offrendo molteplici opzioni per costruire rappresentazioni di testo dinamiche in modo sicuro e leggibile.
Nel moderno Python (3.6+), l'approccio standard e più popolare è la formattazione con f-string (formattate stringhe letterali). Anteponendo una stringa con `f` o `F` come prefisso, puoi incorporare espressioni o variabili Python direttamente all'interno delle parentesi graffe `{}`. Queste espressioni vengono valutate in fase di esecuzione, rendendo le stringhe f più veloci e significativamente più leggibili rispetto ai metodi di formattazione precedenti.
Le basi di codice Python più vecchie potrebbero utilizzare il metodo `.format()` o la formattazione percentuale `%`. Sebbene siano ancora supportati, sono generalmente sconsigliati per il nuovo codice. Le stringhe f supportano anche potenti specificatori di formato in linea, consentendoti di controllare la precisione decimale (ad esempio, `{value:.2f}`), allineare il testo o formattare le date direttamente all'interno delle variabili stringa.
Codice e output di esecuzione
Questo script dimostra la stampa di blocchi di testo dinamico utilizzando stringhe f, la formattazione di numeri in virgola mobile e l'utilizzo di .format().
name = "Alice"
age = 30
pi = 3.14159
# 1. Using modern f-strings (Recommended)
greeting_f = f"Hello, my name is {name} and I am {age} years old."
print("f-string:", greeting_f)
# 2. formatting floats (2 decimal places precision)
precision_f = f"Pi rounded: {pi:.2f}"
print(precision_f)
# 3. Using the older .format() method
greeting_format = "Hello, my name is {} and I am {}.".format(name, age)
print(".format():", greeting_format)f-string: Hello, my name is Alice and I am 30 years old.
Pi rounded: 3.14
.format(): Hello, my name is Alice and I am 30.Implementazione passo dopo passo
- Prefiggi la tua stringa letterale con il carattere f (ad esempio, f'Ciao...').
- Inserisci variabili o espressioni direttamente tra parentesi graffe {} all'interno della stringa.
- Utilizzare specifiche di formato come :.2f per gestire la formattazione decimale all'interno delle parentesi graffe.
Domande frequenti
Le stringhe f sono più veloci di .format() e% di formattazione?
Sì, le stringhe f vengono valutate in fase di esecuzione come operazioni bytecode ottimizzate, rendendole più veloci sia degli operatori .format() che %.
Posso eseguire funzioni o valutare espressioni all'interno di stringhe f?
Sì, qualsiasi espressione Python valida (incluse operazioni matematiche, chiamate di funzioni e ricerche nel dizionario) può essere valutata all'interno delle parentesi graffe.
Argomenti correlati
Scopri come ottenere la data e l'ora correnti in Python utilizzando il modulo datetime. Formatta le date in stringhe con strftime e gestisce i fusi orari.
Come convertire String in Int in PythonScopri come convertire una stringa in un numero intero in Python utilizzando la funzione int(). Gestisci gli errori in modo sicuro e converti i numeri da binario, ottale o esadecimale.
Risorse Python consigliate
Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.
Stringhe Python
Padroneggiare la manipolazione delle stringhe in Python. Scopri metodi di stringa, sezioni, concatenazione e tecniche di formattazione con esempi di codice chiari ed eseguibili.
Foglio informativo sulla formattazione di Python DateTime
Scopri come analizzare e formattare date e ore in Python utilizzando datetime, strftime e strptime.
Python vs JavaScript: quale linguaggio di programmazione è il migliore?
Un confronto completo tra Python e JavaScript. Esplora le differenze di sintassi, le prestazioni, i casi d'uso (backend e frontend) ed esempi di codifica.