Concatenazione di Stringhe Python

La concatenazione di stringhe è un’operazione molto comune nella programmazione. La concatenazione di stringhe in Python può essere fatta utilizzando diversi modi. Questo tutorial ha lo scopo di esplorare diversi modi per concatenare stringhe in un programma Python.

Concatenazione di stringhe in Python

Possiamo eseguire la concatenazione di stringhe utilizzando i seguenti modi:

  • Utilizzando l’operatore +
  • Utilizzando il metodo join()
  • Utilizzando l’operatore %
  • Utilizzando la funzione format()
  • Utilizzando f-string (Interpolazione letterale di stringhe)

Concatenazione di stringhe utilizzando l’operatore +

Questo è il modo più semplice per concatenare stringhe. Vediamo un semplice esempio.

s1 = 'Apple'
s2 = 'Pie'
s3 = 'Sauce'

s4 = s1 + s2 + s3

print(s4)

Output: ApplePieSauce Vediamo un altro esempio in cui otteniamo due stringhe dall’input dell’utente e le concateniamo.

s1 = input('Please enter the first string:\n')
s2 = input('Please enter the second string:\n')

print('Concatenated String =', s1 + s2)

Output:

Please enter the first string:
Hello
Please enter the second string:
World
Concatenated String = HelloWorld

È molto facile utilizzare l’operatore + per la concatenazione di stringhe. Tuttavia, gli argomenti devono essere stringhe.

>>>'Hello' + 4
Traceback (most recent call last):
  File "<input>", line 1, in 
TypeError: can only concatenate str (not "int") to str

Possiamo utilizzare la funzione str() per ottenere la rappresentazione di una stringa di un oggetto. Vediamo come concatenare una stringa a un intero o a un altro oggetto.

print('Hello' + str(4))


class Data:
    id = 0

    def __init__(self, i):
        self.id = i

    def __str__(self):
        return 'Data[' + str(self.id) + ']'


print('Hello ' + str(Data(10)))

Output:

Hello4
Hello Data[10]

Il problema più grande dell’operatore + è che non possiamo aggiungere alcun separatore o delimitatore tra le stringhe. Ad esempio, se dobbiamo concatenare “Ciao” e “Mondo” con un separatore di spazio, dobbiamo scriverlo come "Ciao" + " " + "Mondo".

Concatenazione di stringhe utilizzando la funzione join()

Possiamo utilizzare la funzione join() per concatenare una stringa con un separatore. È utile quando abbiamo una sequenza di stringhe, ad esempio una lista o una tupla di stringhe. Se non si desidera un separatore, utilizzare la funzione join() con una stringa vuota.

s1 = 'Hello'
s2 = 'World'

print('Concatenated String using join() =', "".join([s1, s2]))

print('Concatenated String using join() and whitespaces =', " ".join([s1, s2]))

Output:

Concatenated String using join() = HelloWorld
Concatenated String using join() and spaces = Hello World

Concatenazione di stringhe utilizzando l’operatore %

Possiamo utilizzare l’operatore % per la formattazione delle stringhe, può essere utilizzato anche per la concatenazione delle stringhe. È utile quando vogliamo concatenare le stringhe e fare una formattazione semplice.

s1 = 'Hello'
s2 = 'World'

s3 = "%s %s" % (s1, s2)
print('String Concatenation using % Operator =', s3)

s3 = "%s %s from JournalDev - %d" % (s1, s2, 2018)
print('String Concatenation using % Operator with Formatting =', s3)

Output:

String Concatenation using % Operator = Hello World
String Concatenation using % Operator with Formatting = Hello World from JournalDev - 2018

Concatenazione di stringhe usando la funzione format()

Possiamo utilizzare la funzione format() delle stringhe anche per la concatenazione e la formattazione delle stringhe.

s1 = 'Hello'
s2 = 'World'

s3 = "{}-{}".format(s1, s2)
print('String Concatenation using format() =', s3)

s3 = "{in1} {in2}".format(in1=s1, in2=s2)
print('String Concatenation using format() =', s3)

Output:

String Concatenation using format() = Hello-World
String Concatenation using format() = Hello World

La funzione format() delle stringhe di Python è molto potente, usarla solo per la concatenazione di stringhe non è il suo uso corretto.

Concatenazione di stringhe usando le f-string

Se si sta utilizzando Python 3.6+, è possibile utilizzare le f-string anche per la concatenazione delle stringhe. È un nuovo modo per formattare le stringhe introdotto in PEP 498 – Literal String Interpolation.

s1 = 'Hello'
s2 = 'World'

s3 = f'{s1} {s2}'
print('String Concatenation using f-string =', s3)

name = 'Pankaj'
age = 34
d = Data(10)

print(f'{name} age is {age} and d={d}')

Output:

String Concatenation using f-string = Hello World
Pankaj age is 34 and d=Data[10]

Le f-string di Python sono più pulite e più facili da scrivere rispetto alla funzione format(). Chiamano anche la funzione str() quando viene utilizzato un argomento oggetto come sostituzione di campo.

Conclusion

La formattazione delle stringhe in Python può essere fatta in diversi modi. Utilizzali in base alle tue esigenze. Se devi concatenare una sequenza di stringhe con un delimitatore, utilizza la funzione join(). Se è necessaria anche una formattazione con la concatenazione, utilizza la funzione format() o le f-string. Nota che le f-string possono essere utilizzate con Python 3.6 o versioni successive.

Puoi controllare lo script Python completo e altri esempi Python dal nostro Repository GitHub.

Source:
https://www.digitalocean.com/community/tutorials/python-string-concatenation