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