Introduzione
Python supporta la concatenazione di stringhe usando l’operatore +
. Nella maggior parte degli altri linguaggi di programmazione, se concateniamo una stringa con un intero (o qualsiasi altro tipo di dato primitivo), il linguaggio si occupa di convertirli in stringa e poi li concatena.
Tuttavia, in Python, se proviamo a concatenare una stringa con un intero usando l’operatore +
, otterremo un errore durante l’esecuzione.
Esempio
Diamo un’occhiata a un esempio di concatenazione di una stringa (str
) e un intero (int
) usando l’operatore +
.
current_year_message = 'Year is '
current_year = 2018
print(current_year_message + current_year)
L’output desiderato è la stringa: L'anno è 2018
. Tuttavia, quando eseguiamo questo codice, otteniamo il seguente errore durante l’esecuzione:
Traceback (most recent call last):
File "/Users/sammy/Documents/github/journaldev/Python-3/basic_examples/strings/string_concat_int.py", line 5, in <module>
print(current_year_message + current_year)
TypeError: can only concatenate str (not "int") to str
Allora come concatenare str
e int
in Python? Ci sono vari altri modi per eseguire questa operazione.
Prerequisiti
Per completare questo tutorial, avrai bisogno di:
- Conoscenza dell’installazione di Python 3. e familiarità con la programmazione in Python. Come Codificare in Python 3 serie o utilizzando VS Code per Python.
Questo tutorial è stato testato con Python 3.9.6.
Utilizzo della funzione str()
Possiamo passare un int
alla funzione str()
e verrà convertito in un str
:
print(current_year_message + str(current_year))
Il numero intero current_year
viene restituito come stringa: L'anno è 2018
.
Utilizzo dell’operatore di interpolazione %
Possiamo passare i valori a una specifica di conversione con Formattazione di stringhe in stile printf:
print("%s%s" % (current_year_message, current_year))
Il numero intero current_year
viene interpolato in una stringa: L'anno è 2018
.
Utilizzando la funzione str.format()
Possiamo anche utilizzare la funzione str.format()
per la concatenazione di stringhe e interi.
print("{}{}".format(current_year_message, current_year))
Il numero intero current_year
viene convertito in stringa: Anno è 2018
.
Utilizzando le f-string
Se stai utilizzando Python 3.6 o versioni successive, puoi utilizzare le f-string anche.
print(f'{current_year_message}{current_year}')
Il numero intero current_year
viene interpolato in una stringa: Anno è 2018
.
Conclusione
Puoi controllare lo script completo di Python e altri esempi di Python dal nostro repository GitHub.
Source:
https://www.digitalocean.com/community/tutorials/python-concatenate-string-and-int