RHCSA, RHCE, Linux, Ansible, AWS

Atribuições múltiplas com tuplas

Atribuições múltiplas funcionam em Python — especialmente com tuplas, que são imutáveis, mas podem ser reatribuídas a outras tuplas (ou valores). Vejamos.


Código:

>>> t1 = (1,)
>>> t2 = (2,)
>>> t3 = (3,)

Aqui estamos criando três tuplas com um único elemento cada. Repare no uso da vírgula — essencial para tuplas unitárias:

t1 = (1,)  # tupla com um elemento: (1,)
t2 = (2,)
t3 = (3,)

>>> t1, t2, t3 = t3, t2, t1

Essa linha usa a atribuição múltipla, que em Python funciona assim:

  1. Primeiro, o Python avalia o lado direito:
   t3, t2, t1 : valores são (3,), (2,), (1,)
  1. Em seguida, atribui cada valor à variável correspondente no lado esquerdo, da esquerda pra direita:
   t1 = (3,)
   t2 = (2,)
   t3 = (1,)

Ou seja, houve uma troca de valores entre as tuplas, mas nenhuma tupla foi modificada internamente. Apenas as variáveis foram apontadas para outros objetos.


Importante: Tuplas continuam imutáveis

Esse exemplo não altera o conteúdo das tuplas, apenas muda as referências das variáveis. Isso é totalmente compatível com a imutabilidade:
Você não altera o objeto, só aponta a variável para outro objeto.


Resultado final

Depois da troca, temos:

t1 → (3,)
t2 → (2,)
t3 → (1,)

Avatar de temweb

Sobre o autor

Categorias:

Tags:

Deixe um comentário