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