Neste artigo, você aprenderá sobre a conversão de tipo e os usos da conversão de tipo.
Antes de aprender a conversão de tipo em Python, você deve ter conhecimento sobre os tipos de dados Python.
Conversão de Tipo
O processo de conversão do valor de um tipo de dados (inteiro, string, float, etc.) em outro tipo de dados é chamado de conversão de tipo. Python tem dois tipos de conversão de tipo.
- Conversão de tipo implícita
- Conversão de tipo explícito
Conversão de tipo implícita
Na conversão de tipo implícita, o Python converte automaticamente um tipo de dados em outro tipo de dados. Este processo não requer nenhum envolvimento do usuário.
Vamos ver um exemplo onde Python promove a conversão do tipo de dados inferior (inteiro) para o tipo de dados superior (float) para evitar perda de dados.
Exemplo 1: convertendo inteiro em flutuante
num_int = 123 num_flo = 1.23 num_new = num_int + num_flo print("datatype of num_int:",type(num_int)) print("datatype of num_flo:",type(num_flo)) print("Value of num_new:",num_new) print("datatype of num_new:",type(num_new))
Quando executamos o programa acima, a saída será:
tipo de dados de num_int: tipo de dados de num_flo: Valor de num_new: 124,23 tipo de dados de num_new:
No programa acima,
- Adicionamos duas variáveis num_int e num_flo, armazenando o valor em num_new.
- Veremos o tipo de dados de todos os três objetos, respectivamente.
- Na saída, podemos ver que o tipo de dados de num_int é um
integer
enquanto o tipo de dados de num_flo é afloat
. - Além disso, podemos ver que num_new tem um
float
tipo de dados porque o Python sempre converte tipos de dados menores em tipos de dados maiores para evitar a perda de dados.
Agora, vamos tentar adicionar uma string e um inteiro e ver como o Python lida com isso.
Exemplo 2: adição de tipo de dados string (superior) e tipo de dados inteiro (inferior)
num_int = 123 num_str = "456" print("Data type of num_int:",type(num_int)) print("Data type of num_str:",type(num_str)) print(num_int+num_str)
Quando executamos o programa acima, a saída será:
Tipo de dados de num_int: Tipo de dados de num_str: Traceback (última chamada mais recente): Arquivo "python", linha 7, em TypeError: tipo (s) de operando não suportado (s) para +: 'int' e 'str'
No programa acima,
- Adicionamos duas variáveis num_int e num_str.
- Como podemos ver na saída, obtivemos
TypeError
. Python não é capaz de usar a conversão implícita em tais condições. - No entanto, Python tem uma solução para esse tipo de situação que é conhecida como Conversão Explícita.
Conversão de tipo explícito
Na conversão explícita de tipo, os usuários convertem o tipo de dados de um objeto no tipo de dados necessário. Usamos as funções pré-definidas, como int()
, float()
, str()
, etc para executar a conversão de tipo explícita.
Esse tipo de conversão também é chamado de typecasting porque o usuário converte (altera) o tipo de dados dos objetos.
Sintaxe:
(expressão)
O Typecasting pode ser feito atribuindo a função de tipo de dados necessária à expressão.
Exemplo 3: adição de string e número inteiro usando conversão explícita
num_int = 123 num_str = "456" print("Data type of num_int:",type(num_int)) print("Data type of num_str before Type Casting:",type(num_str)) num_str = int(num_str) print("Data type of num_str after Type Casting:",type(num_str)) num_sum = num_int + num_str print("Sum of num_int and num_str:",num_sum) print("Data type of the sum:",type(num_sum))
Quando executamos o programa acima, a saída será:
Tipo de dados de num_int: Tipo de dados de num_str antes da conversão de tipo: Tipo de dados de num_str depois da conversão de tipo: Soma de num_int e num_str: 579 Tipo de dados da soma:
No programa acima,
- Adicionamos a variável num_str e num_int.
- Convertemos num_str de string (superior) para tipo inteiro (inferior) usando a
int()
função para realizar a adição. - Depois de converter num_str em um valor inteiro, o Python é capaz de adicionar essas duas variáveis.
- Temos o valor num_sum e o tipo de dados como um número inteiro.
Pontos-chave a serem lembrados
- Conversão de tipo é a conversão do objeto de um tipo de dados para outro tipo de dados.
- A conversão de tipo implícita é realizada automaticamente pelo interpretador Python.
- Python evita a perda de dados na conversão de tipo implícita.
- A conversão explícita de tipo também é chamada de conversão de tipo, os tipos de dados de objetos são convertidos usando funções predefinidas pelo usuário.
- No Type Casting, pode ocorrer perda de dados à medida que forçamos o objeto a um tipo de dados específico.