75 lines
2.4 KiB
Markdown
75 lines
2.4 KiB
Markdown
|
---
|
||
|
title: Converting Integer to String in Python
|
||
|
localeTitle: Convertendo Inteiro em String em Python
|
||
|
---
|
||
|
## Convertendo Inteiro em String em Python
|
||
|
|
||
|
Ao contrário de muitas outras linguagens, o Python não tipifica implicitamente números inteiros (ou floats) em strings ao concatenar com strings. Felizmente, o Python possui uma útil função `str()` que converte o argumento passado para um formato de string.
|
||
|
|
||
|
#### O caminho errado
|
||
|
|
||
|
Programadores vindos de outras linguagens podem tentar fazer a seguinte concatenação de cadeias que produz um erro:
|
||
|
|
||
|
```py
|
||
|
age = 18
|
||
|
|
||
|
string = "Hello, I am " + age + " years old"
|
||
|
```
|
||
|
|
||
|
[Executar código no repl.it](https://repl.it/JyYH/0)
|
||
|
|
||
|
O erro que aparece é
|
||
|
```
|
||
|
Traceback (most recent call last):
|
||
|
File "python", line 3, in <module>
|
||
|
TypeError: must be str, not int
|
||
|
```
|
||
|
|
||
|
`TypeError: must be str, not int` indica que o inteiro deve primeiro ser convertido em uma string a ser concatenada.
|
||
|
|
||
|
#### O caminho correto
|
||
|
|
||
|
Exemplo de concatenação simples:
|
||
|
|
||
|
```py
|
||
|
age = 18
|
||
|
|
||
|
print("Hello, I am " + str(age) + " years old")
|
||
|
|
||
|
# Output
|
||
|
# Hello, I am 18 years old
|
||
|
```
|
||
|
|
||
|
[Executar código no repl.it](https://repl.it/Jz8Q/0)
|
||
|
|
||
|
Imprimir `1 2 3 4 5 6 7 8 9 10` usando uma única corda
|
||
|
|
||
|
```py
|
||
|
result = ""
|
||
|
|
||
|
for i in range(1, 11):
|
||
|
result += str(i) + " "
|
||
|
|
||
|
print(result)
|
||
|
|
||
|
# Output
|
||
|
# 1 2 3 4 5 6 7 8 9 10
|
||
|
```
|
||
|
|
||
|
[Executar código no repl.it](https://repl.it/KBLB/0)
|
||
|
|
||
|
#### Explicação linha por linha do código acima
|
||
|
|
||
|
1. Em primeiro lugar, uma variável 'result' é atribuída a uma string vazia.
|
||
|
2. O loop está sendo usado para iterar em uma lista de números.
|
||
|
3. Esta lista de números é gerada usando a função de intervalo.
|
||
|
4. então range (1,11) vai gerar uma lista de números de 1 a 10.
|
||
|
5. Em cada iteração de loop, essa variável 'i' vai ocupar valores de 1 a 10.
|
||
|
6. Na primeira iteração quando a variável i = 1, então a variável \[resultado = resultado + str (i) + "(caractere de espaço)"\], str (i) converte o 'i' que é um valor inteiro para um valor de cadeia.
|
||
|
7. Como i = 1, na primeira iteração, finalmente resulta = 1.
|
||
|
8. E o mesmo processo continua até i = 10 e finalmente após o último resultado da iteração = 1 2 3 4 5 6 7 8 9 10.
|
||
|
9. Portanto, quando finalmente imprimimos o resultado após o loop for, a saída no console é '1 2 3 4 5 6 7 8 9 10'.
|
||
|
|
||
|
#### Mais Informações:
|
||
|
|
||
|
[Documentação oficial do Python para `str()`](https://docs.python.org/3/library/stdtypes.html#str)
|