Python ha diversi modi per costruire stringhe con valori dinamici. L'approccio moderno e consigliato è l'f-string (formatted string literal), introdotta in Python 3.6.
f-strings — lo standard moderno
name =
age =
msg =
Python ha diversi modi per costruire stringhe con valori dinamici. L'approccio moderno e consigliato è l'f-string (formatted string literal), introdotta in Python 3.6.
name =
age =
msg =
Il prefisso f ti permette di incorporare espressioni direttamente in {} — conciso, leggibile e veloce. Questo è il metodo preferito nel Python moderno.
f"{3.14159:.2f}" # "3.14" — 2 decimal places
f"{1000000:,}" # "1,000,000" — thousands separator
f"{0.85:.1%}" # "85.0%" — percentage
f"{42:05d}" # "00042" — pad with zeros to width 5
f"{'hi':>10}" # " hi" — right-align in width 10
f"{'hi':^10}" # " hi " — center
Il :spec dopo il valore controlla la precisione, il padding, l'allineamento e la formattazione numerica — potente per un output pulito.
f"{name=}" # "name='Ann'" — prints both the expression AND value
L'= è utile per il debugging veloce — mostra il nome della variabile e il suo valore.
"{} is {}".format(name, age) # str.format() — pre-f-string standard
"%s is %d" % (name, age) # %-formatting — old C-style (avoid in new code)
name + " is " + str(age) # concatenation — verbose, error-prone
.format() è ancora comune nel codice più vecchio; la formattazione con % è legacy; la concatenazione grezza è sconsigliata (verbosa e richiede conversione manuale str()).
La formattazione delle stringhe è necessaria costantemente — costruire messaggi, log, output, query.
Le f-strings sono lo standard moderno, leggibile ed efficiente, e conoscere i loro format specifiers (precisione, padding, allineamento, separatori) ti permette di produrre un output pulito e professionale senza codice verboso.
Riconoscere gli stili .format() e % più vecchi è utile quando leggi le basi di codice esistenti.
Usare bene le f-strings è una parte piccola ma pervasiva dello scrivere Python chiaro e idiomatico.