
La formattazione delle stringhe in Python
In Python puoi usare diverse tecniche per formattare le stringhe. Ecco alcuni dei metodi più comuni:
Operatore %
L'operatore % è uno dei metodi più vecchi e simile alla formattazione delle stringhe in C.
Ad esempio, assegna una stringa alla variabile "name".
name = "Alice"
Poi stampa una stringa formattandola in questo modo
print("Hello, %s!" % name)
La stringa è composta dalla sequenza "Hello, %s!".
Dove %s indica che in quel posto deve essere inserito un valore alfanumerico, ossia una stringa.
Dopo la stringa l'operatore % indica a Python di sostituire il simbolo %s con il contenuto della variabile name.
il risultato in output è il seguente
Hello, Alice!
Il metodo format()
Questo metodo è più recente e anche più semplice da utilizzare.
Ad esempio, assegna una stringa alla variabile "name".
name = "Alice"
Poi inserisci due parentesi graffe all'interno della stringa.
print("Hello, {}!".format(name))
La stringa è seguita dal metodo .format().
Tra le parentesi tonde va inserito il valore che vuoi sostituire nella stringa alle parentesi graffe.
Il risultato finale è sempre lo stesso.
Hello, Alice!
Il metodo format_map()
Se i dati provengono da un dizionario, si può usare il metodo format_map().
stringa.format_map(dizionario)
Ad esempio, definisci un dizionario con due chiavi e due valori.
dati = {"nome": "Mario", "età": 30}
Poi scrivi la stringa da formattare.
Inserisci nella stringa le chiavi del dizionario tra parentesi graffe.
stringa = "Mi chiamo {nome} e ho {età} anni."
Infine, applica alla stringa il metodo .format_map().
stringa_formattata = stringa.format_map(dati)
Il metodo sostituisce ogni chiave nella stringa con il valore corrispondente nel dizionario.
Quando stampi la stringa, il risultato è una stringa formattata con i dati del dizionario.
print(stringa_formattata)
Mi chiamo Mario e ho 30 anni.
Questo metodo è molto utile per formattare dati dinamici e strutturati provenienti da un dizionario.
F-Strings (Formatted String Literals)
Questo è un altro metodo di formattazione che puoi usare. E' molto più flessibile dei precedenti.
Ad esempio, assegna una stringa alla variabile "name".
name = "Alice"
Poi utilizza questa sintassi per stampare la stringa
print(f"Hello, {name}!")
Inizia la stringa con il simbolo f prima delle virgolette.
Poi indica tra parentesi graffe { } la posizione dove vuoi inserire il valore. Tra le parentesi, scrivi il valore o il nome di una variabile.
In questo caso, Python sostituisce le graffe {name} con il contenuto della variabile "name".
Hello, Alice!
In tutti e tre gli esempi, il risultato sarà "Hello, Alice!".
Ogni metodo ha i suoi vantaggi e svantaggi, quindi la scelta del metodo dipende dal contesto e dalle preferenze personali.