10.11 - Alias
Se a se refere a um objeto e você atribui b = a, então ambas as variáveis se referem ao mesmo objeto.
>>> a = [1, 2, 3]
>>> b = a
>>> b is a
True
O diagrama de estado ficará igual à Figura 10.4.
.
Figura 10.4 – Diagrama de estado com duas variáveis associadas à mesma lista.
A associação de uma variável com um objeto é chamada de referência. Neste exemplo, há duas referências ao mesmo objeto.
Um objeto com mais de uma referência tem mais de um nome, então dizemos que o objeto tem um alias.
Se o objeto com alias é mutável, alterações feitas em um alias afetam o outro também.
>>> b[0] = 42
>>> a
[42, 2, 3]
Apesar de esse comportamento poder ser útil, ele é passível de erros. Em geral, é mais seguro evitar usar alias ao trabalhar com objetos mutáveis.
Para objetos imutáveis como strings, usar alias não é um problema tão grande. Neste exemplo:
a = 'banana'
b = 'banana'
Quase nunca faz diferença se a e b se referem à mesma string ou não.