Conversão de tipo em Python

Resumo: neste tutorial, você aprenderá sobre conversão de tipo em Python e algumas funções úteis de conversão de tipo.

Introdução à conversão de tipos em Python

Para obter informações dos usuários, você usa a função input(). Por exemplo:

value = input('Enter a value:')
print(value)

Ao executar este código, ele solicitará uma entrada no Terminal:

Enter a value:

Se você inserir um valor, por exemplo, um número, o programa exibirá esse de volta:

Enter a value:100
100

No entanto, a função input() retorna uma string, não uminteiro.

O exemplo a seguir solicita a entrada de dois valores de entrada: preço líquido e taxa de imposto. Após isso, calcula o preço líquido e exibe o resultado na tela:

price = input('Enter the price ($):')
tax = input('Enter the tax rate (%):')

net_price = price * tax / 100

print(f'The net price is ${net_price}')

Ao executar o programa e inserir alguns números:

Enter the price ($):100
Enter the tax rate (%):10

… você receberá o seguinte erro:

Traceback (most recent call last):
  File "app.py", line 4, in 
    net_price = price * tax / 100
TypeError: can't multiply sequence by non-int of type 'str'

Como os valores de entrada são strings, você não pode aplicar o operador aritmético (+) a eles.

Para resolver esse problema, você precisa converter as strings em números antes de realizar os cálculos.

Para converter uma string em um número, você usa a função int(). Mais precisamente, a função int() converte uma string em um número inteiro.

O exemplo a seguir usa a função int() para converter as strings de entrada em números:

price = input('Enter the price ($):')
tax = input('Enter the tax rate (%):')

net_price = int(price) * int(tax) / 100
print(f'The net price is ${net_price}')

Se você rodar o programa, e inserir alguns valores, verá que funciona corretamente:

Enter the price ($):100
Enter the tax rate (%):10
The net price is $ 10.0

Outras funções de conversão de tipo

Além das funções int(str), o Python oferece suporte a outras funções de conversão de tipo. A seguir mostramos os mais importantes por enquanto:

  • float(str) – converte uma string em um número de ponto flutuante.
  • bool(val) – converter um valor em um valorbooleano, True ou False.
  • str(val) – retorna a representação de string de um valor.

Obtendo o tipo de um valor

Para obter o tipo de um valor, você usa a função type(value). Por exemplo:

>>> type(100)
<class 'int'>
>>> type(2.0)
<class 'float'>
>>> type('Hello')
<class 'str'>
>>> type(True)
<class 'bool'>

Como você pode ver claramente na saída:

  • O número 100 tem o tipo int.
  • O número 2.0 tem o tipo float.
  • A string 'Hello' tem o tipo str.
  • E o valor True tem o tipo bool.

Na frente de cada tipo, você vê a palavra-chave class. Não é importante por enquanto. E você aprenderá mais sobre as classe mais tarde.

Resumo

  • Use a função input() para obter uma string de entrada dos usuários.
  • Use funções de conversão de tipo como int(), float(), bool() e str(value) para converter um valor de um tipo para outro.
  • Use a função type() para obter o tipo de um valor.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *