Introdução
Python é uma linguagem de programação que é frequentemente usada para fins de integração de sistemas. Esta linguagem usa algo chamado ‘tipos de dados’. Esses tipos de dados ajudam a classificar ou definir um determinado tipo de dado. Isso significa que um tipo de dado específico pertence a valores e operações específicos que você pode aplicar a ele. Cada tipo de dado é programado e editado de uma maneira diferente. Isso ocorre porque cada tipo de dado tem uma natureza diferente. Por exemplo, você pode estar lidando com strings ou inteiros.
O objetivo deste guia é ajudar a familiarizá-lo com os vários tipos de dados em Python. Não apenas isso, mas também teremos uma discussão aprofundada sobre como converter os tipos de dados uns nos outros. Ao final deste tutorial, você deve conhecer tipos de dados como números, strings, tuplas e listas, e como convertê-los.
Conversão de Números
Quando falamos de números em Python, podemos estar nos referindo a uma de duas opções. Podemos estar lidando com inteiros ou floats. Pode haver momentos em que você precise converter um no outro. É possível converter facilmente inteiros em números de ponto flutuante e floats em inteiros.
-
Conversão: Inteiros para Floats
Primeiro, começaremos explorando como você pode converter inteiros em floats. O meio para fazer isso é com um comando chamado float(). Esta função converterá qualquer inteiro fornecido em um float com decimais. Tudo o que você precisa fazer é colocar o inteiro dentro dos parênteses. Por exemplo, digamos que você queira converter o inteiro 57 em um tipo de dado float. Veja como você faria para convertê-lo:
|
1 |
float(57) |
Como resultado da execução deste comando, o inteiro 57 mudará para o float 57.0.
Outra maneira de fazer isso seria usar uma variável. Você pode denotar seu inteiro por meio de uma variável e, em seguida, imprimir o float com o comando acima. Digamos que você declare a variável f como sendo igual a 57. Veja como seria a conversão neste caso:
|
1 2 3 |
f = 57 print(float(f)) |
|
1 2 3 |
Saída 57.0 |
-
Conversão: Floats para Inteiros
Também é possível converter floats em inteiros. Semelhante ao comando anterior, essa conversão pode ser feita usando a função int(). Assim como da última vez, tudo o que você precisa fazer é adicionar o número de ponto flutuante dentro dos parênteses após a função.
Em nosso exemplo, converteremos o float 390 em um inteiro. Para fazer a conversão, executaríamos o seguinte comando:
|
1 |
int(390.8) |
Como resultado da execução desta função, 390 mudará para sua forma float: 390.8.
Da mesma forma, você pode realizar a conversão com a ajuda de variáveis. Não apenas isso, mas você pode realizar várias conversões ao mesmo tempo. Vamos assumir que b é igual a 125.0 e c é igual a 390.8. Veja como você imprimiria esses valores de ponto flutuante:
|
1 2 3 4 5 |
b = 125.0 c = 390.8 print(int(b)) print(int(c)) |
|
1 2 3 4 |
Saída 125 390 |
Como você pode ver, os inteiros foram convertidos com sucesso em floats.
Uma coisa importante a se lembrar durante a conversão de float para inteiro é que a função não arredonda os valores. Isso significa que a parte decimal do float é simplesmente removida. A função não arredondará um valor como 390.8 para 390 - ela simplesmente removerá as 0.8 unidades para fornecer um inteiro.
-
Conversão: Através de Divisão
Também é possível converter inteiros em floats através de divisão. Dividir inteiros entre si pode fornecer um quociente que é um número de ponto flutuante. Por exemplo, ao dividir 5 por 2, a resposta que você receberá será 2.5, que é um float. Dê uma olhada:
|
1 2 |
a = 5 / 2 print(a) |
|
1 2 3 |
Saída 2.5 |
Este é um recurso especial do Python 3. No Python 2, realizar tal divisão forneceria apenas um inteiro como resposta, assim: 5 / 2 = 2.
Conversão com Strings
Antes de começarmos a falar sobre como realizar a conversão com strings, você precisa saber o que as strings realmente são. Se você ainda não sabe, strings são sequências de caracteres. Isso pode ser uma sequência de letras, números, símbolos ou quaisquer outros caracteres. Você pode conhecer as strings em associação com dados de computador. Isso ocorre porque os computadores frequentemente usam esse tipo de dados para realizar suas operações.
Se você estiver lidando com dados gerados pelo usuário, precisará realizar essas conversões com frequência. É por isso que é útil saber como transformar números em strings e converter strings em números.
-
Conversão: Números para Strings
Você pode usar a str() função para converter números em strings. Assim como antes, você colocará o valor que deseja converter dentro dos parênteses. Esse valor pode ser um número ou uma variável. Para começar, vamos observar como você converteria um número inteiro, como 12, em um valor de string:
|
1 |
str(12) |
|
1 2 3 |
Saída '12' |
Como você pode ver, a saída mostra um valor de string. O valor de string é indicado pelas aspas.
Por outro lado, você também pode colocar variáveis dentro da função em vez de inteiros. É aqui que a função se torna realmente útil. Por exemplo, considere que você deseja rastrear e relatar quantas linhas de código um usuário está escrevendo em um determinado período de tempo. Para mostrar essa informação ao usuário, você precisa imprimir tanto a string quanto os valores inteiros, assim:
|
1 2 3 4 |
user = "Sammy" lines = 50 print("Parabéns, " + user + "! Você acabou de escrever " + lines + " linhas de código.") |
Infelizmente, se você tentar executar o código acima, receberá um erro como este:

Isso significa que você precisa converter a variável lines em um valor de string para poder executar o código.
|
1 2 3 4 |
user = "Sammy" lines = 50 print("Parabéns, " + user + "! Você acabou de escrever " + str(lines) + " linhas de código.") |
Agora que você colocou a função de conversão, poderá executar o comando com sucesso. Você verá algo como o seguinte como sua saída:
|
1 2 3 |
Saída Parabéns, Sammy! Você acabou de escrever 50 linhas de código. |
Da mesma forma, se você deseja adicionar um float em vez de um inteiro a uma string, deve fazer a mesma coisa. Assim como antes, você pode adicionar o valor diretamente ou usar uma variável. Por exemplo:
|
1 2 3 |
print(str(421.034)) f = 5524.53 print(str(f)) |
|
1 2 3 4 |
Saída 421.034 5524.53 |
Se você quiser ter certeza de que o valor está correto, pode concatená-lo com uma string como esta:
|
1 2 |
f = 5524.53 print("Sammy tem " + str(f) + " pontos.") |
|
1 2 3 |
Saída Sammy tem 5524.53 pontos. |
Como você não recebeu um erro, isso significa que a conversão foi bem-sucedida.
-
Conversão: Strings para Números
Da mesma forma, você também pode converter strings em números. Se a sua string não tiver casas decimais, é melhor convertê-la em um número inteiro. Você pode convertê-la em inteiros usando a int() função.
Continuaremos a usar nosso exemplo anterior da conversão de inteiros. Assim, considere que um usuário chamado Sammy deseja rastrear seu progresso de escrita de código diariamente. Como programador, você deseja apresentar essa informação ao usuário de maneira criativa. Mas como esses valores são armazenados como strings, você não pode aplicar alguns operandos básicos a eles, como – (subtração). Você pode observar isso no seguinte:
|
1 2 3 4 5 6 |
lines_yesterday = "50" lines_today = "108" lines_more = lines_today - lines_yesterday print(lines_more) |

Como você pode ver, o operando não funciona em valores de string. Em vez disso, você recebe um erro. Para poder trabalhar com os valores, você precisa converter as strings em inteiros usando a int() função:
|
1 2 3 4 5 6 |
lines_yesterday = "50" lines_today = "108" lines_more = int(lines_today) - int(lines_yesterday) print(lines_more) |
|
1 2 3 |
Saída 58 |
Aqui, lines_more é uma variável. Esta variável é um número inteiro e igual ao valor resultante que, no nosso exemplo, é 58.
Por outro lado, você pode converter as strings em floats usando a função float() se houver decimais. Neste exemplo, usaremos os pontos que o usuário Sammy está ganhando em oposição ao número de linhas que ele está escrevendo. Os pontos são marcados em pontos decimais:
|
1 2 3 4 5 6 |
total_points = "5524.53" new_points = "45.30" new_total_points = total_points + new_points print(new_total_points) |
|
1 2 3 |
Saída 5524.5345.30 |
Embora a saída não se apresente como um erro, ela ainda não está correta. O operando + ou adição funcionou neste caso. Mas, em vez de somar os dois números, ele simplesmente colocou os dois valores de string um ao lado do outro.
É por isso que você precisa primeiro converter essas strings em valores float usando a função float():
|
1 2 3 4 5 6 |
total_points = "5524.53" new_points = "45.30" new_total_points = float(total_points) + float(new_points) print(new_total_points) |
|
1 2 3 |
Saída 5569.83 |
Como você pode observar acima, os dois valores são somados. Lembre-se: se você tentar converter um valor de string em decimais para um número inteiro, obterá um erro como este:
|
1 2 |
f = "54.23" print(int(f)) |

Portanto, você precisa primeiro converter o tipo de dados string em números. Depois, você pode realizar outras operações e converter o valor numérico com facilidade.
Conversão para Tuplas e Listas
Listas e tuplas são alguns outros tipos de dados que você pode usar no Python 3. Ambos consistem em uma sequência de elementos. A diferença entre os dois é que, enquanto uma lista é mutável, uma tupla é imutável. Além disso, enquanto os elementos de uma lista são colocados entre colchetes [ ], aqueles em uma tupla são colocados entre parênteses ( ).
-
Conversão: Listas para Tuplas
Primeiramente, vamos explorar como você pode converter uma lista em uma tupla. Você pode precisar realizar essa conversão se precisar de um tipo de dados imutável. Para esse propósito, você precisará usar a função tuple():
|
1 |
print(tuple(['pull request', 'open source', 'repository', 'branch'])) |
|
1 2 3 |
Saída ('pull request', 'open source', 'repository', 'branch') |
Como você pode ver, os itens da lista agora estão em uma tupla. Isso é mostrado pelos parênteses que envolvem os elementos.
Você também pode usar a função tuple() com uma variável que equivale à lista de itens:
|
1 2 3 |
sea_creatures = ['shark', 'cuttlefish', 'squid', 'mantis shrimp'] print(tuple(sea_creatures)) |
|
1 2 3 |
Saída ('shark', 'cuttlefish', 'squid', 'mantis shrimp') |
Convenientemente, você pode converter qualquer tipo de dados em uma tupla. Por exemplo, veja como você converteria uma string em uma tupla:
|
1 |
print(tuple('Sammy')) |
|
1 2 3 |
Saída ('S', 'a', 'm', 'm', 'y') |
As strings podem ser convertidas em tuplas porque são iteráveis. Compreensivelmente, tipos de dados não iteráveis não podem ser convertidos em tuplas. Digamos que você queira converter alguns números inteiros ou um float em uma tupla. Se você executasse a função tuple(), você receberia um erro como este:
|
1 |
print(tuple(5000)) |
|
1 2 3 |
Saída TypeError: 'int' objeto é não iterável |
O erro de tipo mostra que o número inteiro não é iterável. É por isso que a conversão não pode ocorrer. Uma maneira complicada seria primeiro converter o número inteiro em uma string e depois em uma tupla. Você poderia fazer isso com a seguinte função: tuple(str(5000)). Mas recomendamos evitar tais complicações.
-
Conversão: Tuplas para Listas
Pelo contrário, você pode ter que converter uma tupla em uma lista se precisar de dados mutáveis. Para este propósito, você usará a list() função da seguinte forma:
|
1 |
print(list(('blue coral', 'staghorn coral', 'pillar coral'))) |
|
1 2 3 |
Saída ['blue coral', 'staghorn coral', 'pillar coral'] |
A presença dos colchetes indica que a saída resultante é uma tupla. Ao escrever o código para converter uma tupla em uma lista usando list(), você deve certificar-se de incluir parênteses para o list() método, bem como para o print() método. No entanto, isso torna o código um pouco ilegível. Para torná-lo menos complicado, você pode remover um par de parênteses usando uma variável em seu lugar:
|
1 2 3 |
coral = ('blue coral', 'staghorn coral', 'pillar coral') list(coral) |
Semelhante às tuplas, você também pode converter strings em listas diretamente:
|
1 |
print(list('shark')) |
|
1 2 3 |
Saída ['s', 'h', 'a', 'r', 'k'] |
Conclusão
Este guia o ajudará se você estiver procurando maneiras de converter tipos de dados no Python 3. Discutimos em detalhes os diferentes tipos de dados e como eles podem ser convertidos uns nos outros usando funções integradas do Python. Conhecer essas conversões ajudará a tornar sua experiência de programação muito mais fácil e completa.
Para explorar ainda mais o que você pode fazer com o Python, siga nossos outros guias:
- Confira como instalar o Python 3 e configurar um ambiente de programação local no Ubuntu 16.04.
- Acompanhe para aprender como extrair dados do Twitter usando Python.
- Aprenda como recuperar dados por minuto da NASDAQ usando Python.
- Você também pode dar uma olhada em como utilizar o script Python da CloudSigma para automatizar a conversão de um snapshot de disco em um disco completo em nossa plataforma.
Boa computação!
Comentários
Nenhum comentário ainda. Seja o primeiro.