Conversão de Tipos
No Python, a conversão de tipos envolve a alteração do tipo de dados de uma variável. Isso é útil para operações específicas de certos tipos de dados ou ao garantir que uma variável tenha um tipo específico.
Conversão Explícita de Tipos (Explicit Type Conversion)
A conversão explícita de tipos, ou type casting, é alcançada usando funções embutidas:
int(x): Converte x em um inteiro.
float(x): Converte x em um float.
str(x): Converte x em uma string.
bool(x): Converte x em um booleano.
>>> x = 10.5
>>> int_x = int(x) ## explicit conversion to integer
>>> str_x = str(x) ## explicit conversion to string
>>> bool_x = bool(x) ## explicit conversion to boolean
>>> print(int_x)
10
>>> print(str_x)
10.5
>>> print(bool_x)
True
Aqui, o float x é explicitamente convertido em um inteiro, string e booleano usando as respectivas funções de conversão.
Conversão Implícita de Tipos (Implicit Type Conversion)
A conversão implícita de tipos, ou type coercion, ocorre automaticamente quando o Python encontra operandos de tipos diferentes em uma expressão. Ele tenta convertê-los em um tipo comum antes de realizar a operação.
>>> x = 10 ## integer
>>> y = 3.14 ## float
>>> result = x + y ## implicit conversion of x to float
>>> print(result)
13.14
Aqui, o inteiro x é implicitamente convertido em um float antes da adição.
Erro de Conversão de Tipos (Type Conversion Error)
Nem todas as conversões são válidas. Tentar converter tipos incompatíveis pode resultar em um erro:
>>> x = input()
i
>>> type(x)
<class 'str'> ## By default, `input()` treats all input as strings.
>>> int_x = int(x) ## error: cannot convert string to integer
A perda de dados é uma consideração; converter entre tipos pode levar à perda de precisão ou informação:
>>> x = 3.14
>>> int_x = int(x) ## data loss: decimal part is discarded
>>> print(int_x)
3