Python: dois objetos são os mesmos [duplicados]
Duplicata Possível:
Atribuição de objetos e tipos fundamentais
a = [1,2,3]
b = a
print b is a
Este código imprime True. Por quê? "is" só retorna True se as duas variáveis apontarem para o mesmo objeto, quando neste caso são objetos diferentes com o mesmo valor. "==" retornaria True, mas "is" não deveria.
No entanto, desde
b.reverse()
print a,b
imprime [3, 2, 1] [3, 2, 1], parece que, no que diz respeito ao interpretador, eles são o mesmo objeto e as operações em b serão automaticamente executadas em a. Mais uma vez, por quê? Eu nunca vi nada assim acontecer antes.