String do Python para Int: como converter uma string para um inteiro em Python

Ao contrário de muitas outras linguagens de programação por aí, Python não tipifica implicitamente números inteiros (ou flutuantes) em strings quando você os concatena em strings.

Felizmente, o Python tem uma função interna útil str()que converterá o argumento passado em um formato de string.

A maneira errada de converter uma string em um inteiro em Python

Os programadores vindos de outras linguagens de programação podem tentar fazer a seguinte concatenação de string, o que produzirá um erro:

age = 18 string = "Hello, I am " + age + " years old"

Você pode executar este código em repl.it.

O erro que aparece é:

Traceback (most recent call last): File "python", line 3, in  TypeError: must be str, not int

Aqui, TypeError: must be str, not intindica que o inteiro deve primeiro ser convertido em uma string antes de poder ser concatenado.

A maneira correta de converter uma string em um inteiro em Python

Aqui está um exemplo de concatenação simples:

age = 18 print("Hello, I am " + str(age) + " years old") # Output # Hello, I am 18 years old

Você pode executar este código em repl.it.

Veja como imprimir 1 2 3 4 5 6 7 8 9 10usando uma única string:

result = "" for i in range(1, 11): result += str(i) + " " print(result) # Output # 1 2 3 4 5 6 7 8 9 10

Você pode executar o código em repl.it.

Aqui está uma explicação linha por linha de como o código acima funciona:

  1. Em primeiro lugar, uma variável 'resultado' é atribuída a uma string vazia.
  2. O loop for está sendo usado para iterar sobre uma lista de números.
  3. Esta lista de números é gerada usando a função de intervalo.
  4. portanto, intervalo (1,11) irá gerar uma lista de números de 1 a 10.
  5. Em cada iteração do loop for, essa variável 'i' assumirá 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 em um valor de string.
  7. Como i = 1, na primeira iteração finalmente resulta = 1.
  8. E o mesmo processo continua até i = 10 e finalmente após a última iteração o resultado = 1 2 3 4 5 6 7 8 9 10.
  9. Portanto, quando finalmente imprimirmos o resultado após o loop for, a saída no console será '1 2 3 4 5 6 7 8 9 10'.

Espero que você tenha achado isso útil. Boa codificação.