Como Concatenar String e Int em Python

Introdução

O Python suporta a concatenação de strings usando o operador +. Na maioria das outras linguagens de programação, se concatenarmos uma string com um inteiro (ou qualquer outro tipo de dado primitivo), a linguagem se encarrega de convertê-los em uma string e depois os concatena.

No entanto, em Python, se você tentar concatenar uma string com um inteiro usando o operador +, você obterá um erro em tempo de execução.

Exemplo

Vamos ver um exemplo de concatenação de uma string (str) e um inteiro (int) usando o operador +.

string_concat_int.py
current_year_message = 'Year is '

current_year = 2018

print(current_year_message + current_year)

O resultado desejado é a string: O ano é 2018. No entanto, quando executamos este código, obtemos o seguinte erro em tempo de execução:

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

Então, como você concatena str e int em Python? Existem várias outras maneiras de realizar essa operação.

Pré-requisitos

Para concluir este tutorial, você precisará de:

Este tutorial foi testado com o Python 3.9.6.

Usando a função str()

Podemos passar um int para a função str() e ele será convertido em um str:

print(current_year_message + str(current_year))

O inteiro current_year é retornado como uma string: Ano é 2018.

Usando o operador de interpolação %

Podemos passar valores para uma especificação de conversão com formatação de string no estilo printf:

print("%s%s" % (current_year_message, current_year))

O inteiro current_year é interpolado para uma string: Ano é 2018.

Usando a função str.format()

Também podemos usar a função str.format() para concatenar string e inteiro.

print("{}{}".format(current_year_message, current_year))

O inteiro current_year é coercido para uma string: Ano é 2018.

Usando f-strings

Se você estiver usando Python 3.6 ou versões superiores, também pode usar f-strings.

print(f'{current_year_message}{current_year}')

O inteiro current_year é interpolado para uma string: Ano é 2018.

Conclusão

Você pode conferir o script Python completo e mais exemplos de Python em nosso repositório do GitHub.

Source:
https://www.digitalocean.com/community/tutorials/python-concatenate-string-and-int