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:
- Primeiro, o Python avalia o lado direito:
t3, t2, t1 : valores são (3,), (2,), (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,)
Deixe um comentário
Você precisa fazer o login para publicar um comentário.