Conversão de tipos e conversão de tipos em Python explicados com exemplos
Publicados: 2020-02-19O Python tem muitos tipos de dados e, como programador, você deve saber como converter um tipo de dados do Python em outro. Python tem muitas funções integradas para esta tarefa. E neste guia simples, vamos dar uma olhada neles para ajudar você a entender melhor as conversões de tipo.
Depois de terminar este guia, você saberá como converter strings em inteiros e vice-versa. Então, sem mais delongas, vamos começar.
Índice
Tipos de dados em Python
Antes de começarmos nossa discussão sobre conversão de tipos em Python, vamos dar uma breve olhada em todos os tipos de dados presentes nesta linguagem:
Inteiros
Os valores inteiros podem ser tão longos quanto você quiser. Como na matemática, os números inteiros em Python também são dígitos. Mas você não pode ter inteiros indefinidamente longos a menos que tenha um supercomputador. Python trata qualquer número sem prefixo como um inteiro. Esses números também incluem dígitos decimais.
Números de ponto flutuante
Floats em Python são números que são escritos com um ponto decimal para separar os dígitos fracionários e o inteiro. Alguns exemplos de números de ponto flutuante são 4.3, 9.18, etc. Você também pode adicionar 'e' para a notação científica em Python.
Números complexos
Os números complexos em Python seguem este formato: (a parte real + a parte imaginária). Alguns exemplos de números complexos são (3+2i), (8-2x), etc.
Cordas
Strings podem ser qualquer conjunto específico de caracteres em Python. Eles são referidos como str. Você pode escrevê-los usando aspas. Você pode usar aspas simples e aspas duplas para escrever strings em Python. Strings podem ser quaisquer caracteres colocados entre aspas, como '91', “hello”, etc.
Assim como os inteiros, não há limite para o comprimento de caracteres em strings. As strings são de vários tipos, como strings com aspas triplas, strings brutas e muitas outras. No entanto, se começarmos a discutir strings e seus tipos, este artigo ficará muito longo.
Tipo de dados booleanos
O tipo de dados final que temos para discutir é o tipo de dados Boolean. Os dados booleanos podem ter um de dois valores, que são true e false. Os valores booleanos são essenciais em Python por vários motivos. Você pode usar valores booleanos para determinar a veracidade de objetos e valores.
Leia: Salário do desenvolvedor Python na Índia 2020
Conforme você aprenderá mais sobre operadores lógicos em Python, você terá que lidar com objetos e valores booleanos.
Portanto, esses eram todos os tipos de dados presentes no Python. Saiba mais sobre os tipos de dados em Python. Além desses tipos de dados, o Python também possui muitas funções internas, que o ajudam na execução de uma variedade de tarefas. Também precisaremos usar algumas funções internas para implementar a conversão de tipo. Confira nossos programas de ciência de dados para aprender sobre vários tipos de conversões.
Agora que discutimos os tipos de dados, podemos passar para a conversão de tipos.
Diferentes tipos de conversões de tipo em Python
Existem dois tipos de conversão de tipo em Python. Eles são os seguintes:
Implícito
Nesse caso, o Python converte um tipo de dados em outro tipo automaticamente. Você, o usuário, não precisa se envolver nesse processo. Aqui está um exemplo de conversão implícita de inteiro para float em Python:
num_int = 18
num_flo = 1,8
num_novo = num_int + num_flo
print("tipo de dados de num_int:",type(num_int))
print("tipo de dados de num_flo:",type(num_flo))
print(“Valor de num_new:”,num_new)
print("tipo de dados de num_new:",type(num_new))
A saída do código acima seria a seguinte:
tipo de dados de num_int: <class 'int'>
tipo de dados de num_flo: <class 'float'>
Valor de num_novo: 19,8
tipo de dados de num_new: <class 'float'>
Como você pode ver, só tivemos que adicionar num_flo e num_int junto com num_new para obter a saída desejada. Convertemos o inteiro 18 em um float 19.8 através de algumas linhas de código. A coisa vital a notar aqui é que o Python transformou o inteiro em float automaticamente.
Explícito
No caso de conversão de tipo explícita, usamos funções para fins de conversão. Lembre-se das funções internas que mencionamos antes? Eles serão úteis nesta seção. Outro nome para conversões de tipo explícito é typecasting. Ele tem esse nome porque você, o usuário, converte o tipo de dados do objeto em questão.

Existem algumas funções de conversão de tipo com as quais você deve estar familiarizado para realizar typecasting em Python. Int(a,base) é uma função popular, pois pode converter qualquer tipo de dado em um inteiro. float() pode transformar qualquer tipo de dado em um número de ponto flutuante. oct() converte inteiros em strings octais e hex() converte inteiros em strings hexadecimais.
Aqui está um exemplo de conversão de tipo usando oct():
c = out(80)
print("Saída: ",fim="")
imprimir (c)
E a saída seria:
Saída: 0o120
Ao trabalhar com essas funções, lembre-se de que a sintaxe para tal conversão deve ser:
(desired_datatype)(expressão)
Existem muitos tipos de conversões de tipo que você pode realizar em Python. No entanto, existem dois tipos deles, que você executará mais. Converter strings em inteiros e vice-versa pode ser um ótimo ponto de partida. Então, vamos discutir cada uma dessas conversões de tipo separadamente para uma melhor compreensão deste tópico:
Leia: Ideias e tópicos de projetos para desenvolvedores Python
Convertendo String para int Python
Você pode converter uma string para int Python através da função int(). Dá-lhe um inteiro decimal com apenas um clique. Ele assume que a expressão que você digitou é um inteiro decimal, mas se não for, retornará um ValueError. E não queremos isso. Você pode mencionar o sistema de numeração de que precisa, dando ao valor uma base para evitar esse problema.
Então, se você estiver convertendo uma string para int em Python, você pode fazer isso:
int(“5”)
Ou você pode adicionar uma base para diferentes tipos de strings:
int(“5”, base=10)
Agora vamos discutir o inverso desta conversão, ou seja, quando você precisa converter um inteiro em uma string.
Convertendo int para String Python
Você pode usar a função str() para converter inteiros em strings. Basta seguir a sintaxe que mencionamos anteriormente:
str(5)
Strings podem converter inteiros em expressões decimais se você usar um literal binário. No entanto, assim como com a função int, se você precisar, poderá adicionar mais informações para diferentes conversões. Você pode obter resultados octais, binários e até hexadecimais com esta função.
Depois de um pouco de prática, você também pode executar tarefas mais complexas com conversão de tipo. Aqui está um exemplo de como adicionar uma string com um inteiro por meio de typecasting:
num_int = 256
num_str = “64”
print("Tipo de dados de num_int:",type(num_int))
print(“Tipo de dados de num_str antes da conversão de tipo:”,type(num_str))
num_str = int(num_str)
print("Tipo de dados de num_str após a conversão de tipo:",type(num_str))
num_sum = num_int + num_str
print(“Soma de num_int e num_str:”,num_sum)
print("Tipo de dados da soma:",type(num_sum))
A saída do código acima seria esta:
Tipo de dados de num_int: <class 'int'>
Tipo de dados de num_str antes da conversão de tipo: <class 'str'>
Tipo de dados de num_str após conversão de tipo: <class 'int'>
Soma de num_int e num_str: 320
Tipo de dados da soma: <class 'int'>
Como você pode ver, é muito divertido. Sinta-se à vontade para experimentar conversões de tipo e expandir sua base de conhecimento.
Conclusão
Esperamos que você tenha aprendido muito com este artigo. Realizar conversões de tipo é uma das muitas coisas que você pode fazer com as funções do Python.
Se você está lendo este artigo, provavelmente tem ambições de se tornar um desenvolvedor Python. Se você estiver interessado em aprender python e quiser colocar a mão na massa em várias ferramentas e bibliotecas, confira o PG Diploma in Data Science do IIIT-B.
Na codificação, como as conversões explícitas são diferentes das conversões implícitas?
Uma conversão de tipo implícita é uma conversão de tipo que é definida pelo usuário e obriga uma expressão a ser de um determinado tipo. Quando vários tipos de dados são combinados em uma expressão, o compilador executa uma conversão de tipo implícita. A conversão explícita, também conhecida como conversão, é quando convertemos explicitamente de um tipo de dados para outro executando a função apropriada para o tipo de dados para o qual desejamos converter. Sem a ajuda do programador, uma conversão de tipo implícita é realizada.
Como a conversão de tipo é diferente da conversão de tipo?
O tipo de dados de destino deve ser menor que o tipo de dados de origem ao converter um tipo de dados para outro. No entanto, os dados de origem precisam ser menores que o tipo de dados de destino ao converter um tipo de dados em outro. Um programador deve digitar manualmente um tipo de dado em outro tipo. A conversão de um tipo de dado em outro não envolve nenhuma intervenção do programador porque o compilador o compila automaticamente durante a execução do programa. Há uma chance de que dados ou informações sejam perdidos durante a conversão de tipo. Ao converter um tipo de dados pequeno em um tipo de dados grande, é improvável que os dados sejam perdidos.
Qual é mais eficiente em tuplas ou listas Python?
Uma tupla é uma coleção de objetos Python separados por vírgulas e, devido à sua natureza estática, a tupla é mais rápida que a lista. Tuplas também são mais eficientes em termos de memória do que listas. Quando se trata de eficiência de tempo, as tuplas têm uma vantagem menor sobre as listas, principalmente quando se trata de procurar um valor. Se você tiver dados que não devem ser alterados em primeiro lugar, um tipo de dados de tupla deve ser preferido a uma lista. Podemos fazer uma lista de tuplas, o que significa que os membros da tupla podem ser agrupados em uma lista e, portanto, seguir as mesmas características de uma lista Python. Como as Tuplas Python ocupam menos espaço, construir uma lista de tuplas é mais prático.