Conversão de tipo e fundição de tipo Python (com exemplos)

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.

  1. Conversão de tipo implícita
  2. 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 integerenquanto o tipo de dados de num_flo é a float.
  • Além disso, podemos ver que num_new tem um floattipo 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

  1. Conversão de tipo é a conversão do objeto de um tipo de dados para outro tipo de dados.
  2. A conversão de tipo implícita é realizada automaticamente pelo interpretador Python.
  3. Python evita a perda de dados na conversão de tipo implícita.
  4. 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.
  5. No Type Casting, pode ocorrer perda de dados à medida que forçamos o objeto a um tipo de dados específico.

Artigos interessantes...