Come concatenare stringa e intero in Python

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 +.

string_concat_int.py
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:

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