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
ouFalse
. -
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 tipoint
. -
O número
2.0
tem o tipofloat
. -
A string
'Hello'
tem o tipostr
. -
E o valor
True
tem o tipobool
.
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()
estr(value)
para converter um valor de um tipo para outro. -
Use a função
type()
para obter o tipo de um valor.