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) |