La concatenazione delle stringhe in Python: come unire fra loro le stringhe in Python
Python permette di utilizzare diversi metodi per combinare le sequenze di caratteri, ad esempio con l’operatore +
, con str.join()
oppure con la formattazione delle stringhe. La concatenazione delle stringhe in Python offre quindi la possibilità di manipolare le sequenze di caratteri in modo flessibile ed efficiente, il che è indispensabile in molti casi applicativi nello sviluppo software.
Che cos’è la concatenazione delle stringhe in Python?
La concatenazione delle stringhe in Python è una tecnica che permette di unire le sequenze di caratteri (stringhe) collegandole per creare un’unica stringa. Questo processo è fondamentale nei casi in cui hai bisogno di modificare o formattare i testi in Python. Esistono varie possibilità per concatenare le stringhe in Python: i due metodi più usati sono l’operatore +
e il metodo str.join()
.
È importante che la concatenazione delle stringhe sia efficiente, in particolare quando si lavora con grandi quantità di testi o con applicazioni in cui le prestazioni sono importanti. Al riguardo, è consigliabile scegliere il metodo più adatto per la concatenazione in modo da evitare colli di bottiglia indesiderati e ottimizzare l’efficienza del codice.
I metodi per concatenare le stringhe in Python
È possibile concatenare le stringhe in Python in diversi modi. Alcuni dei metodi più usati sono:
- L’operatore
+
- L’operatore
*
- Il metodo
join()
- L’operatore
%
- La funzione
format()
- Le f-string
L’operatore +
Python ti permette di unire fra loro le stringhe per mezzo dell’operatore +
posizionandole direttamente una dopo l’altra. Questo operatore collega le stringhe ottenendo come risultato una nuova stringa.
str1 = "Hello, "
str2 = "World!"
result = str1 + str2
print(result) # Output: Hello, World!
pythonUtilizzando l’operatore +
, nel nostro esempio abbiamo unito le stringhe str1
e str2
. La stringa risultante viene quindi memorizzata nella variabile result
. Se si emette questa nuova stringa, il risultato visualizzato è Hello, World!
.
Ricorda: ogni volta che esegui l’operatore +
viene creata una nuova stringa, perché le stringhe in Python sono immutabili. Utilizzando la concatenazione per grandi quantità di stringhe, questa caratteristica può portare a cali delle prestazioni. In questi casi può convenire scegliere un metodo più efficiente come str.join()
.
L’operatore *
Utilizzando l’operatore *
su una stringa,* si moltiplica la stringa per il numero indicato* e si ottiene una concatenazione ripetendo la stringa originale.
str1 = "Hello! "
multiplier = 3
result = str1 * multiplier
print(result) # Output: Hello! Hello! Hello!
pythonIn questo esempio la stringa str1
viene moltiplicata per il valore 3. Il risultato è una concatenazione della stringa str1
in Python per tre volte una dopo l’altra.
Il metodo join()
Di norma si utilizza il metodo join()
su una stringa delimitatore prendendo una sequenza di stringhe come argomento.
words = ["Python", "is", "great"]
separator = " "
result = separator.join(words)
print(result) # Output: Python is great
pythonIn questo esempio, words
è una lista di stringhe. Il metodo join()
si applica alla stringa delimitatore separator
, che in questo caso è un carattere spazio. Il metodo unisce quindi gli elementi della lista words
con il delimitatore indicato e genera una nuova stringa in cui ciascun elemento della lista è separato per mezzo del carattere spazio. Il risultato viene memorizzato nella variabile result
e quindi emesso.
Il metodo %
Il metodo %
è noto anche come formattazione delle stringhe con %
. Veniva utilizzato più spesso nelle versioni più vecchie di Python, mentre nelle versioni più recenti è stato sostituito dal metodo str.format()
e dalla formattazione con f-string. Il metodo %
permette di inserire valori in una stringa predefinita.
name = "Alice"
age = 30
greeting = "My name is %s and I am %d years old." % (name, age)
print(greeting) # Output: My name is Alice and I am 30 years old.
pythonIn questo esempio scegliamo %s
per contrassegnare una stringa e %d
per un numero intero. Il metodo %
inserisce i valori di name
e age
nella stringa predefinita. I valori vengono assegnati come tupla fra le parentesi e inseriti negli appositi segnaposto all’interno della stringa.
La funzione format()
La funzione format()
permette di concatenare le stringhe in Python sostituendo i segnaposto di una stringa con dei valori. Si tratta di una possibilità più flessibile e meglio leggibile per inserire i valori in una stringa. A tal fine è possibile definire i segnaposto mediante posizioni o nomi.
name = "Alice"
age = 30
greeting = "My name is {} and I am {} years old.".format(name, age)
print(greeting) # Output: My name is Alice and I am 30 years old.
pythonQui la funzione format()
prende i valori di name
e age
come argomenti e li inserisce nei segnaposto della stringa nell’ordine in cui vengono assegnati nella funzione.
Le f-string
Le f-string sono un ulteriore metodo di formattazione delle stringhe in Python che puoi utilizzare per la concatenazione delle stringhe.
name = "Alice"
age = 30
greeting = f"My name is {name} and I am {age} years old."
print(greeting) # Output: My name is Alice and I am 30 years old.
pythonNel nostro esempio le f-string sono definite dalla lettera “f” posta prima della stringa. Le variabili name
e age
sono poste fra parentesi graffe all’interno della stringa. Durante l’esecuzione, Python sostituisce questi segnaposto con i valori effettivi delle variabili name
e age
.
Se vuoi approfondire la gestione delle stringhe in Python, ti consigliamo di seguire i tutorial sulle sottostringhe in Python, split in Python, string index in Python e come confrontare le stringhe in Python nella nostra guida.
- Certificato SSL e protezione DDoS
- Velocità, flessibilità e scalabilità
- Dominio e consulente personale
- 1 anno gratis del gestionale di fatturazione elettronica FlexTax