Blog

Postado em em 17 de dezembro de 2022

Unpacking de Tupla no Python – Separando Valores em Variáveis

Nesta aula vamos aprender como funciona o unpacking de tupla no Python, qual a lógica usada e como ele ajuda na hora de escrever seu código!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Fala impressionadores! Você já faz unpacking nos seus programas?

Hoje vamos explicar como o Unpacking funciona, para isso vamos usar as tuplas da imagem abaixo como exemplos:

Tuplas
Tuplas

Dentro da lista de produtos temos três tuplas, as tuplas estão entre parênteses e são combinações do produto com o valor do produto, Exemplo:

Tupla = (“iphone”, 5000)

Certo, então à tupla contém duas informações, mas, e se quisermos usar apenas uma das informações?

A primeira informação da tupla pode ser representada com o número 0 e a segunda com o número 1, se quiséssemos printar o “iphone” por exemplo, faríamos:

Tupla = (“iphone”, 5000)

Print(tupla[0])

E se quiséssemos usar somente o valor então mudaríamos para (tupla[1]).

Obs. Qualquer estrutura capaz de armazenar várias informações como a tupla começa a contar os itens dentro dela pelo número zero [0].

Agora vamos pegar as duas informações:

Para fazer isso podemos colocar cada item da tupla dentro de uma variável e em seguida, printar as variáveis:

Cada item em uma variável
Cada item em uma variável

Fazer dessa forma dá certo, mas e se eu te disser que existe uma maneira mais rápida onde você não precisa escrever tanto.

No Python existe um recurso chamado Unpacking da tupla, que serve justamente para esses casos porque ele consegue pegar todos os valores contidos na tupla e atribuir cada um a uma variável diferente.

O Unpacking faz tudo de uma vez, dando menos trabalho no sentido de repetir ou escrever muitos códigos.

Como o Unpacking funciona?

Provavelmente você já viu uma linha de código começando com duas variáveis antes do sinal de igual, se não viu, saiba que quando isso acontece é sinal de que um Unpacking está sendo feito.

Basicamente o unpacking vai pegar a estrutura da tupla e distribuir os seus valores nas variáveis que estão antes do sinal de igual, veja:

Unpacking exemplo.
Unpacking exemplo

Dessa forma o primeiro item da tupla em azul será atribuído a primeira variável em azul, da mesma forma o segundo item colorido em amarelo será atribuído a segunda variável em amarelo.

As atribuições sempre serão feitas na ordem em que você colocar as variáveis, se fossem colocadas invertidas os valores iriam para as variáveis erradas.

Observe que rodando o código os resultados vão ser os mesmo de antes quando estávamos atribuindo as tuplas uma por uma, esta forma que fizemos agora é o que chamamos de unpacking.

Qual a vantagem de utilizar Unpacking?

Imagine se estivéssemos usando a estrutura de repetição For:

For produto in produtos.
For produto in produtos.

Na primeira linha deste código o for esta armazenando os itens na variável produtos, na segunda linha os itens da variável produtos são separados e armazenados nas variáveis nome e preço.

Como o  for é uma estrutura de repetição, o código vai rodas até que todos os nomes estejam na variável nome e todos os valores na variável preço.

Usando esta lógica do for podemos perceber que a variável produto está ali apenas para receber os itens contidos em produtos, e depois, distribuí-los nas variáveis nome e preço na linha seguinte.

Será que conseguimos diminuir este código?

Sim, porque nós podemos colocar as duas variáveis do unpacking dentro do For eliminando a variável produto!

Dessa forma vamos ter:

Unpacking de Tupla no Python
Unpacking sem a variável produto.

Observe que reorganizamos o código, eliminamos uma linha e obtivemos o mesmo resultado fazendo o unpacking.

Dica:

Pode ser que você se depare com a seguinte estrutura:

Unpacking de Tupla no Python
Underline.

Neste caso pedimos para o código imprimir a variável preço e ele imprimiu corretamente.

Observe que no lugar da variável nome temos um underline _. Por quê?

Para extrair da tupla o valor do preço precisamos criar duas variáveis, mesmo que neste caso só quiséssemos o valor dos preços.

Quando isso acontece convencionou-se usar o underline para indicar que aquela variável não será usada no código, ela só está ali porque é necessária para a estrutura.

Dessa forma você consegue extrair a informação desejada e quem ler o seu código vai entender que aquela variável não será mais usada a partir dali.

Dito isso, agora vamos usar o unpacking em uma função!

Função – imposto.
Função – imposto.

Criamos uma função para calcular impostos, dentro dela vamos passar o valor de vendas e a função calcula o imposto de renda e o CSLL sobre as vendas.

Obs. As alíquotas de impostos são fictícias.

Esta função vai retornar como resposta dois valores, os valores dos dois impostos.

Vamos criar uma variável impostos e colocar em vendas o valor de 1000.

Unpacking de Tupla no Python
Calcular imposto.

Observe que quando a função retorna mais de um valor ele vem em formato de tupla, se nós exibirmos o tipo vamos ver isso:

Unpacking de Tupla no Python
Type.

Isso significa que podemos pegar nosso calcular_impostos e fazer o unpacking dele:

Unpacking de Tupla no Python
Unpacking em função imposto.

Note que retiramos a variável impostos e colocamos duas variáveis que vão receber os dois resultados da tupla gerada pela função.

Lembre-se que os nomes das variáveis colocadas para o unpacking não precisam ser iguais aos nomes dos impostos como fizemos aqui.

Foi feito assim apenas para ficar intuitivo, mas você pode usar outros nomes desde que respeite a ordem de que o primeiro resultado será atribuído a primeira variável sempre!

Esta é uma estrutura básica que você precisa dominar tanto para facilitar seus códigos quanto para entender o código de programadores mais experientes.

Conclusão – Unpacking de Tupla no Python

Nessa aula mostramos como fazer um unpacking de tupla no Python, fizemos alguns exemplos passo a passo que vão te ajudar a entender ou relembrar esta estrutura que é muito usada por programadores experientes.

A ideia é que você entenda como o unpacking funciona, fazemos o unpacking para distribuir com mais facilidade os itens da tupla nas variáveis e também para diminuir linhas de código desnecessárias deixando o código mais enxuto e fácil de ler.

Por este motivo é importante que você treine usar essa estrutura, assim você vai conseguir reconhecer rapidamente quando se deparar com ela em outros códigos e não ficará perdido.

Eu fico por aqui! Até a próxima! Abraço,

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Quer sair do zero no Python e virar uma referência na sua empresa? Inscreva-se agora mesmo no Python Impressionador