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ê receberá um erro em tempo de execução.

Exemplo

Vamos dar uma olhada em 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: Ano é 2018. No entanto, quando executamos este código, recebemos 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á:

Este tutorial foi testado com Python 3.9.6.

Usando a Função str()

Podemos passar um int para a função str() que será convertido para 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 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 concatenação de 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 o 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 em Python em nosso repositório no GitHub.

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