Python String para Inteiro, Inteiro para String

Neste tutorial, aprenderemos como converter uma string Python para int e int para string em Python. Em nosso tutorial anterior, aprendemos sobre a função Python List append.

Python String to Int

Se você leu nossos tutoriais anteriores, pode notar que em algum momento usamos essa conversão. Na verdade, isso é necessário em muitos casos. Por exemplo, se você estiver lendo alguns dados de um arquivo, eles estarão em formato de string e você terá que converter a string para um int. Agora, vamos direto para o código. Se você quiser converter um número representado na string para int, você tem que usar a função int() para fazer isso. Veja o exemplo a seguir:

num = '123'  # string data

# imprime o tipo

print('Type of num is :', type(num))

# converte usando int()

num = int(num)

# imprime o tipo again

print('Now, type of num is :', type(num))

O resultado do código a seguir será

Type of num is : <class 'str'>
Now, type of num is : <class 'int'>
Python String To Int

Convertendo String para int de bases diferentes

Se a string que você deseja converter em um inteiro pertence a uma base numérica diferente da base 10, você pode especificar a base para a conversão. Mas lembre-se de que o inteiro de saída é sempre na base 10. Outra coisa que você precisa lembrar é que a base fornecida deve estar entre 2 e 36. Veja o exemplo a seguir para entender a conversão de string para inteiro com o argumento da base.

num = '123'
# imprima a string original 
print('The original string :', num)

# considerando '123' como sendo na base 10, converta para base 10 

print('Base 10 to base 10:', int(num))

# considerando '123' como sendo na base 8, converta para base 10 

print('Base 8 to base 10 :', int(num, base=8))

# considerando '123' como sendo na base 6, converta para base 10 

print('Base 6 to base 10 :', int(num, base=6))

O resultado do seguinte código será

Python Convert String To Int With Base

ValueError ao converter String para int

Enquanto converte de string para int, você pode obter a ValueError exceção. Essa exceção ocorre se a string que você deseja converter não representa nenhum número. Suponha que você queira converter um número hexadecimal para um inteiro. Mas você não passou o argumento base=16 na função int(). Isso causará uma exceção de ValueError se houver algum dígito que não pertença ao sistema numérico decimal. O exemplo a seguir ilustrará essa exceção ao converter uma string para int.

"""
    Scenario 1: The interpreter will not raise any exception but you get wrong data
"""
num = '12'  # this is a hexadecimal value

# a variável é considerada como valor decimal durante a conversão
print('The value is :', int(num))

# a variável é considerada como valor hexadecimal durante a conversão
print('Actual value is :', int(num, base=16))

"""
    Scenario 2: The interpreter will raise ValueError exception
"""

num = '1e'  # this is a hexadecimal value

# a variável é considerada como valor hexadecimal durante a conversão
print('Actual value of \'1e\' is :', int(num, base=16))

# a variável é considerada como valor decimal durante a conversão
print('The value is :', int(num))  # this will raise exception

O resultado do código acima será:

The value is : 12
Actual value is : 18
Actual value of '1e' is : 30
Traceback (most recent call last):
  File "/home/imtiaz/Desktop/str2int_exception.py", line 22, in 
    print('The value is :', int(num))  # this will raise exception
ValueError: invalid literal for int() with base 10: '1e'
Python String To Int ValueError

Python int para String

Converter um int para string não requer esforço ou verificação. Basta usar a função str() para fazer a conversão. Veja o exemplo a seguir.

hexadecimalValue = 0x1eff

print('Type of hexadecimalValue :', type(hexadecimalValue))

hexadecimalValue = str(hexadecimalValue)

print('Type of hexadecimalValue now :', type(hexadecimalValue))

O resultado do código a seguir será:

Type of hexadecimalValue : <class 'int'>
Type of hexadecimalValue now : <class 'str'>
Python Int To String Conversion

Isso é tudo sobre a conversão de String para int e int para string em Python. Referência: Documentação Oficial do Python

Source:
https://www.digitalocean.com/community/tutorials/python-string-to-int-int-to-string