F-string in Python

Con le f-string in Python è possibile inserire direttamente espressioni e variabili complesse in una stringa senza dover eseguire ulteriori conversioni o formattazioni.

Che cosa sono esattamente le f-string in Python?

Le f-string sono un formato di stringa in Python introdotto con Python 3.6. Sono dette anche stringhe letterali formattate. All’interno delle f-string è possibile includere calcoli inserendoli fra parentesi graffe. Le f-string offrono una possibilità di scrittura più compatta rispetto ad altri metodi di formattazione delle stringhe come str.format() o la concatenazione con +. In questo modo si ottiene un codice più chiaro e preciso.

Le f-string sono estremamente flessibili e permettono di introdurre variabili ed espressioni in diversi tipi di dati come integer, float, liste o addirittura espressioni e funzioni senza eseguire prima conversioni o formattazioni speciali. Di norma le f-string in Python sono più veloci rispetto ad altri metodi di formattazione delle stringhe in Python.

La sintassi generale delle f-string

La struttura fondamentale di una f-string è composta dal prefisso f o F, seguito da una stringa indicata fra virgolette (“ oppure ’). All’interno di questa stringa è possibile utilizzare le parentesi graffe {} per incorporare variabili o espressioni.

name = "Peter"
age = 25
formatted_string = f"My name is {name} and I am {age} years old."
print(formatted_string) # Output: My name is Peter and I am 25 years old.
python

Nel nostro esempio sostituiamo la variabile name con {name} e la variabile age con {age} nella f-string per creare la sequenza di caratteri finale.

Il tuo web hosting come mai prima d'ora
  • Certificato SSL e protezione DDoS
  • Velocità, flessibilità e scalabilità
  • Dominio e consulente personale
  • 1 anno gratis del gestionale di fatturazione elettronica FlexTax

Possibilità di applicazione delle f-string in Python

È possibile utilizzare e specificare le f-string in molti modi diversi.

Esecuzione di calcoli all’interno di una stringa

Le f-string in Python sono particolarmente utili per eseguire operazioni aritmetiche all’interno di una stringa. Ad esempio, ti permettono di definire un’espressione complessa in un’unica riga.

num1 = 10
num2 = 5
result = f"The sum of {num1} and {num2} is {num1 + num2}"
print(result) # Output: The sum of 10 and 5 is 15
python

Qui viene eseguita l’addizione di num1 e num2 all’interno della f-string e il risultato viene inserito direttamente nella stringa finale.

Le f-string in Python e le raw string

La combinazione di r (che sta per “raw string”) ed f (per stringhe formattate o f-string) crea uno speciale tipo di stringa in Python, nota come rf-string. La rf-string unisce le funzionalità delle raw string, che interpretano le sequenze di escape in modo letterale, alla flessibilità e all’efficienza delle f-string, che consentono l’incorporazione diretta di variabili ed espressioni in una stringa.

name = "User"
path = rf'C:\Users\Username\Documents\{name}\file.txt'
print(path) # Output: C:\Users\Username\Documents\User\file.txt
python

In questo codice utilizziamo la rf-string per definire un percorso. L’utilizzo di {name} all’interno della rf-string porta all’inserimento diretto della variabile name, mentre la r davanti alla stringa fa in modo che il backslash \ venga gestito come carattere letterale e non come parte di una sequenza di escape.

Precisione di numeri a virgola mobile

Con particolari istruzioni di formattazione puoi definire la quantità di cifre decimali in un numero a virgola mobile all’interno di una stringa formattata.

value = 3.14159265359
formatted_value = f"Rounded value = {value:.3f}"
print(formatted_value) # Output: Rounded value = 3.142
python

Qui l’istruzione di formattazione :.3f indica che la variabile value deve essere arrotondata alla terza cifra decimale e inserita nella stringa formattata.

Larghezza e allineamento

Le funzioni per larghezza e allineamento delle f-string di Python permettono di controllare l’aspetto dei valori inseriti all’interno di un campo definito. Queste funzioni sono utili per posizionare testo o numeri in una data area e allinearli a destra, a sinistra o al centro.

Prendiamo ad esempio il nome __Alice__ e immaginiamo di volerlo posizionare in un campo della larghezza di dieci caratteri allineandolo a destra:

name = "Alice"
formatted_name = f"Hello, {name:>10}"
print(formatted_name) # Output: Hello,      Alice
python

Poiché il valore ha una lunghezza inferiore a dieci caratteri, viene allineato a destra per mezzo della specifica {name:>10}.

Completamento con zeri o altri caratteri

Il completamento con zeri o altri caratteri ha effetto sull’allineamento dei numeri in un campo. Questa funzionalità è utile se devi raffigurare dei numeri in un formato fisso, ad esempio per la visualizzazione di tempi e valori numerici.

number = 42
formatted_number = f"Number: {number:06}"
print(formatted_number) # Output: Number: 000042
python

In questo caso, :06 indica che il numero number viene inserito in un campo composto da sei caratteri. Le posizioni mancanti vengono invece completate con l’aggiunta di zeri iniziali.

È possibile specificare anche caratteri diversi dallo zero da usare per il completamento:

word = "Python"
formatted_word = f"Word: {word:_<10}"
print(formatted_word) # Output: Word: Python____
python
Hai trovato questo articolo utile?
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.
Page top