Come usare nuove stringhe F in Python

Come usare nuove stringhe F in Python

Questo articolo coprirà una guida sull'uso della nuova sintassi di formattazione della stringa di tipo "F" aggiunta alle versioni recenti di Python. Semplicemente definiti come "f-strings" o "letterali di stringa formattati", queste espressioni consentono di utilizzare variabili, funzioni e dichiarazioni Python direttamente nel testo di una stringa. Aiutano anche a mantenere il codice pulito, in quanto è possibile utilizzare le espressioni in linea senza ricorrere a qualsiasi tipo di sostituzioni ordinate che di solito fanno parte delle altre tecniche di formattazione delle stringhe disponibili in Python. Le corde F sono incluse per impostazione predefinita in Python 3.6 e build più recenti.

Sintassi di base e utilizzo

Per utilizzare il formato F-String, è necessario prefisporre qualsiasi stringa con carattere "F" o "F", poco prima del simbolo di citazione iniziale. Ecco un esempio:

text1 = f "Questa è una stringa."
text2 = f "Questa è un'altra stringa."
Stampa (text1)
Stampa (text2)

Come puoi vedere, entrambe le stringhe sono prefissate da personaggi "F" o "F". Puoi anche usare le corde F prima delle citazioni triple. Le citazioni triple possono essere utilizzate per rappresentare le stringhe "così com'è" e non è necessario sfuggire ai personaggi in una corda avvolta in triple citazioni. Dopo aver eseguito questo campione di codice, è necessario ottenere il seguente output:

Questa è una stringa.
Questa è un'altra stringa.

L'esempio sopra mostra solo un semplice utilizzo delle corde F in cui sono esattamente uguali agli oggetti di tipo stringa standard. La potenza delle corde F deriva da espressioni in linea che puoi avvolgere in parentesi cure. Ecco un esempio che mostra le variabili in linea utilizzate nelle stringhe F:

Primo = "1st"
Second = "2nd"
text1 = f "Questa è la stringa First."
text2 = f "Questa è la stringa seconda."
Stampa (text1)
Stampa (text2)

Come puoi vedere nell'esempio, le parentesi graffe sono state usate due volte nelle corde F. Le espressioni e le variabili all'interno delle parentesi graffe all'interno delle corde F sono valutate da Python e quindi sono sostituite con i risultati restituiti dalle espressioni originali. Dopo aver eseguito il campione di codice sopra, è necessario ottenere il seguente output:

Questa è la prima stringa.
Questa è la seconda stringa.

Se si utilizza un editor di testo con un'evidenziazione di sintassi corretta per Python, noterai che le parentesi graffe sono rappresentate in un codice di colore diverso, indicando la loro differenza con altri caratteri nella stessa stringa.

È possibile utilizzare le parentesi graffe ricci e le volte nelle stringhe F, come mostrato nell'esempio seguente:

Primo = "1st"
Second = "2nd"
text = f "Questa è la stringa First. Questa è la stringa seconda."
Stampa (testo)

Dopo aver eseguito il campione di codice sopra, è necessario ottenere il seguente output:

Questa è la prima stringa. Questa è la seconda stringa.

Potresti aver usato altri metodi di formattazione e sostituzione delle stringhe in Python, principalmente il metodo "formato" e il simbolo speciale "%s". Il metodo Format richiede di specificare un indice numerico per le variabili che verranno valutate all'interno della stringa. La sintassi di formattazione "%s" richiede di fornire argomenti posizionali in ordine di aspetto. Ecco un confronto di tutti e tre i tipi di modelli di formattazione:

Primo = "1st"
Second = "2nd"
text = "Questa è la stringa 0. Questa è la stringa 1.".Formato (primo, secondo)
Stampa (testo)
text = "Questa è la stringa %s. Questa è la stringa %s." % (primo secondo)
Stampa (testo)
text = f "Questa è la stringa First. Questa è la stringa seconda."
Stampa (testo)

Come puoi vedere nel campione del codice, le stringhe F forniscono una sintassi molto più leggibile e più pulita utilizzando le variabili inline. Puoi usare variabili ed espressioni esattamente nel luogo in cui si desidera che si verifichi la sostituzione. Non è necessario fornire argomenti o indici di posizione.

Dopo aver eseguito il campione di codice sopra, è necessario ottenere il seguente output:

Questa è la prima stringa. Questa è la seconda stringa.
Questa è la prima stringa. Questa è la seconda stringa.
Questa è la prima stringa. Questa è la seconda stringa.

Utilizzo di espressioni avanzate nelle corde F

È possibile utilizzare operatori matematici, funzioni di chiamata, numeri rotondi e sostanzialmente utilizzare qualsiasi espressione di Python arbitraria di una fodera all'interno delle bretelle nelle corde F.

È possibile utilizzare il simbolo ":" (colon) per controllare la larghezza del valore valutato. Se il valore valutato è di tipo "int" o "float", verrà arrotondato. Di seguito è riportato un esempio di codice:

name = "John"
Punti = 90.235689
text = f "" "Questo è un numero arrotondato: punti:.3f | Questa è una stringa di dieci caratteri: "nome: 10"."" "
Stampa (testo)

IL ".Il modificatore 3f ”arrotonda il numero fino a 3 cifre. È possibile estendere la larghezza di una stringa e riempirla con spazi bianchi fornendo un numero dopo il simbolo del colon. Dopo aver eseguito il campione di codice sopra, è necessario ottenere il seguente output:

Questo è un numero arrotondato: 90.236 | Questa è una corda di dieci personaggi: "John".

Puoi saperne di più su tutti questi modificatori e simboli visitando la documentazione ufficiale di Python disponibile qui.

È inoltre possibile utilizzare le istruzioni avanzate di una fodera all'interno di F-Strings. L'esempio seguente mostra l'utilizzo della comprensione dell'elenco all'interno di una F-String:

text = f "" "Questo è un elenco: [n per n in gamma (10)]" ""
Stampa (testo)

Nelle parentesi graffe ricci, puoi vedere la comprensione dell'elenco utilizzata per generare un elenco da un intervallo di 10 numeri. Dopo aver eseguito il campione di codice sopra, è necessario ottenere il seguente output:

Questo è un elenco: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

È possibile chiamare qualsiasi funzione tra parentesi graffe all'interno delle stringhe F. Puoi anche fornire argomenti necessari quando li chiami. Ecco un esempio di codice:

NumberList = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
text = f "" "La lunghezza dell'elenco è: len (numerlist)" ""
Stampa (testo)

Il campione del codice illustra invocando il metodo "Len" nelle parentesi graffe ricci. Questo è un metodo Python integrato, ma puoi anche chiamare le tue funzioni personalizzate. Dopo aver eseguito il campione di codice sopra, è necessario ottenere il seguente output:

La durata dell'elenco è: 10

Conclusione

Le Strings F forniscono una metodologia di formattazione delle stringhe migliori superando i limiti di altri sistemi di formattazione delle stringhe disponibili in Python. Sono facili da leggere e usare. Non dipendono dagli argomenti posizionali e mantengono il codice pulito, rendendo facile debug di espressioni e dichiarazioni.