HOWTO · Python

Aggiungi carattere alla stringa in Python

Questo tutorial mostra come aggiungere un carattere a una stringa in Python

In questa pagina

Per aggiungere un carattere a una stringa in Python, concatenalo con + oppure inseriscilo in una stringa formattata. Un carattere è rappresentato da una stringa composta da un solo carattere. Poiché le stringhe Python sono immutabili, queste operazioni restituiscono una nuova stringa e non modificano quella originale. Aggiungere testo in coda lo colloca alla fine; per inserirlo in un’altra posizione, occorre suddividere la stringa originale con le slice attorno a quel punto.

Esegui questo esempio:

Il codice e le etichette o gli output visibili in questa sezione restano in inglese.

message = "Hello"
character = "!"
result = message + character
print(result)

Aggiungere un carattere a una stringa in Python con l’operatore +

Usa + quando devi semplicemente concatenare stringhe. Entrambi gli operandi devono essere stringhe. Il risultato è una nuova stringa, quindi dopo l’espressione seguente message contiene ancora "Hello".

Il codice e le etichette o gli output visibili in questa sezione restano in inglese.

message = "Hello"
character = "!"
result = message + character
print(result)

Se il valore da aggiungere è numerico, convertilo prima in una stringa con str(). Per esempio, "Page " + str(3) combina testo e numero dopo la conversione. Se aggiungi direttamente un numero a una stringa, Python genera un TypeError perché i tipi degli operandi non corrispondono.

Per inserire testo in un indice noto, combina le slice ai lati del punto di inserimento: text[:index] + character + text[index:]. Anche questa operazione crea una nuova stringa. Scegli un indice valido per la posizione desiderata e ricorda che gli indici delle stringhe Python partono da zero.

Aggiungere un carattere a una stringa in Python con il metodo join()

join() assembla un iterabile di stringhe. La stringa su cui chiami il metodo diventa il separatore tra ogni coppia di elementi: non è un’operazione specifica per aggiungere testo in coda. Usa un separatore vuoto se vuoi unire le parti senza testo aggiuntivo tra loro, oppure scegli un separatore come la virgola se serve nel risultato.

Il codice e le etichette o gli output visibili in questa sezione restano in inglese.

parts = ["red", "green", "blue"]
result = ", ".join(parts)
print(result)

Ogni elemento dell’iterabile deve essere una stringa. Prima di unire valori di altri tipi, convertili, per esempio con str(value). Per aggiungere un suffisso a una singola stringa, di solito + è l’espressione più chiara; join() è utile per raccogliere più parti, soprattutto quando devono essere separate tutte nello stesso modo.

Aggiungere un carattere a una stringa in Python con il metodo str.format()

str.format() inserisce valori nei segnaposto tra parentesi graffe. Posiziona i segnaposto dove devono comparire le parti e poi passa al metodo i valori corrispondenti. I segnaposto adiacenti vengono concatenati direttamente: non viene aggiunto alcun separatore, a meno che non lo includa nel modello.

Il codice e le etichette o gli output visibili in questa sezione restano in inglese.

name = "Ada"
punctuation = "!"
result = "Hello, {}{}".format(name, punctuation)
print(result)

Questo approccio funziona nelle versioni di Python che supportano str.format() ed è utile quando vuoi tenere il modello separato dai valori. Se usi più segnaposto, passa i valori nello stesso ordine oppure usa segnaposto con nome, come in "Hello, {name}!".format(name="Ada"), per rendere esplicita la corrispondenza.

Aggiungere un carattere a una stringa in Python con l’interpolazione di stringa (f-string)

Le f-string offrono un modo conciso per incorporare valori ed espressioni nei letterali stringa. Richiedono Python 3.6 o successivo. Inserisci ogni variabile o espressione tra parentesi graffe dopo il prefisso f.

Il codice e le etichette o gli output visibili in questa sezione restano in inglese.

name = "Ada"
punctuation = "!"
result = f"Hello, {name}{punctuation}"
print(result)

Usa una f-string quando il modello incorporato è facile da leggere. Il valore inserito viene convertito in testo per essere visualizzato nella stringa risultante; la stringa originale e le variabili restano invariate. Nelle versioni precedenti di Python, usa invece str.format() o la concatenazione.

Aggiungere un carattere a una stringa in Python con l’operatore %

La formattazione di stringhe con % è un’alternativa legacy. Un segnaposto come %s indica dove va inserito un valore, che viene fornito dall’operatore. Se usi più segnaposto, passa una tupla con i valori nell’ordine corrispondente.

Il codice e le etichette o gli output visibili in questa sezione restano in inglese.

name = "Ada"
punctuation = "!"
result = "Hello, %s%s" % (name, punctuation)
print(result)

Nel codice nuovo, preferisci lo stile di formattazione che rende il modello più facile da capire. % resta utile quando si mantiene codice esistente che usa già questa sintassi.

Conclusione

Usa + per una semplice aggiunta in coda, str.format() o una f-string per combinare testo e valori, e join() per assemblare più stringhe con un separatore. Converti i numeri in stringhe prima di concatenarli o unirli. In tutti i casi, l’operazione crea una nuova stringa: assegnale il risultato se vuoi conservarlo. Gli esempi sopra sono frammenti Python eseguibili; questo pacchetto non include un record di esecuzione, quindi non viene dichiarato alcun output osservato.