English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Antes de aprender sobre conversão de tipo no Python, você deve entender Tipos de dados do Python.
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.
Conversão implícita de tipo
Conversão explí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.
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.
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”.
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.
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.
Conversão de tipo é a conversão de um objeto de um tipo de dados para outro tipo de dados.
Conversões implícitas de tipo são executadas automaticamente pelo interpretador Python.
Python evita a perda de dados em conversões implícitas de tipo.
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.
Em conversões de tipo, quando forçamos um objeto a se tornar um tipo de dados específico, pode ocorrer perda de dados.