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 +
.
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á:
- Familiaridade com a instalação do Python 3. E familiaridade com programação em Python. Como Codificar em Python 3 série ou usando VS Code para Python.
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