English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico do Python

Controle de Fluxo do Python

Funções do Python

Tipos de Dados do Python

Operações de Arquivos do Python

Objetos e Classes do Python

Data e Hora do Python

Conhecimento Avançado do Python

Manual de Referência do Python

Conversão de Tipos do Python

Antes de aprender sobre conversão de tipo no Python, você deve entender  Tipos de dados do Python.

Conversão de tipo

O processo de conversão do valor de um tipo de dados (inteiro, string, ponto flutuante, etc.) para outro tipo de dados é chamado de conversão de tipo. O Python tem dois tipos de conversão de tipo.

  1. Conversão implícita de tipo

  2. Conversão explícita de tipo

Conversão implícita de tipo

Na conversão implícita de tipo, o Python converte automaticamente um tipo de dados para outro tipo de dados. Este processo não requer participação do usuário.

Vamos ver um exemplo onde o Python promove a conversão de tipos de dados mais baixos (inteiros) para tipos de dados mais altos (ponto flutuante) para evitar perda de dados.

Exemplo1:conversão de inteiro para float

num_int = 123
num_flo = 1.23
num_new = num_int + num_flo
print("O tipo de dados do num_int:",type(num_int))
print("O tipo de dados do num_flo:", type(num_flo))
print("O valor do num_new:", num_new)
print("O tipo de dados do num_new:", type(num_new))

Quando executamos o programa acima, a saída será:

O tipo de dados do num_int: <class 'int'>
O tipo de dados do num_flo: <class 'float'>
O valor do num_new: 124.23
O tipo de dados do num_new: <class 'float'>

No programa acima

  • Vamos somar os dois variáveisnum_intesomar num_floe armazenar o valor na variávelno num_new.

  • vamos verificar os tipos de dados de todos os três objetos.

  • Na saída, podemos vernum_into tipo de dados é integer,num_floo tipo de dados é um float.

  • Além disso, podemos vernum_newcom tipo de dados float, porque o Python sempre converte o tipo de dados menor para o tipo de dados maior para evitar perda de dados.

Agora, vamos tentar somar uma string e um inteiro e ver como o Python lida com isso.

Exemplo2:adição de tipos de dados de string (mais alto) e inteiro (mais baixo)

num_int = 123
num_str = "456"
print("O tipo de dados do num_int:",type(num_int))
print("O tipo de dados do num_str:", type(num_str))
print(num_int+num_str)

Quando executamos o programa acima, a saída será:

O tipo de dados do num_int: <class 'int'>
O tipo de dados do num_str: <class 'str'>
Traceback (última chamada mais recente): 
  Arquivo "python", linha 7, no módulo <module> 
TypeError: tipo de operando incompatível para +: 'int' e 'str'

No programa acima

  • nós temos duas variáveisnum_int enum_strsoma.

  • Como podemos ver na saída, obtemos um TypeError. Neste caso, o Python não pode usar a conversão implícita.

  • Mas, o Python oferece uma solução para esse tipo de situação, chamada de “Conversão explícita”.

Conversão explícita de tipo

Em “Conversão explícita de tipo”onde o usuário converte o tipo de dados do objeto para o tipo de dados desejado. Usamos funções pré-definidas como int(), float(), str() para conversão explícita de tipo.

Este tipo de conversão também é chamado de conversão de tipo, porque o usuário força a conversão (alteração) do tipo de dados do objeto.

Sintaxe :

<required_datatype>(expressão)

A conversão de tipo pode ser feita atribuindo a função de tipo de dados necessária à expressão.

Exemplo3:Use conversão explícita para somar string e inteiro

num_int = 123
num_str = "456"
print("O tipo de dados do num_int:",type(num_int))
print("O tipo de dados do num_str antes da conversão de tipo:",type(num_str))
num_str = int(num_str)
print("O tipo de dados do num_str após a conversão de tipo:",type(num_str))
num_sum = num_int + num_str
print("A soma de num_int e num_str:",num_sum)
print("O tipo de dados de sum:",type(num_sum))

Quando executamos o programa acima, a saída será:

O tipo de dados do num_int: <class 'int'>
O tipo de dados do num_str antes da conversão de tipo: <class 'str'>
O tipo de dados do num_str após a conversão de tipo: <class 'int'>
A soma de num_int e num_str: 579
O tipo de dados de sum: <class 'int'>

No programa acima

  • Nósnum_strenum_intsomar as variáveis.

  • Usamos a função int() paranum_strde string (alta) para integer (baixa) para executar a adição.

  • Converternum_strApós a conversão para inteiro, o Python pode somar essas duas variáveis.

  • Por fim, obtemosnum_sumO valor e o tipo de dados daquele valor são inteiros.

Ponto a recordar

  1. Conversão de tipo é a conversão de um objeto de um tipo de dados para outro tipo de dados.

  2. Conversões implícitas de tipo são executadas automaticamente pelo interpretador Python.

  3. Python evita a perda de dados em conversões implícitas de tipo.

  4. Conversão explícita de tipo também chamada de conversão de tipo, onde o usuário usa funções pré-definidas para converter o tipo de dados do objeto.

  5. Em conversões de tipo, quando forçamos um objeto a se tornar um tipo de dados específico, pode ocorrer perda de dados.