Читать книгу El gran libro de Python - Marco Buttu - Страница 65

Objetos inmutables que contienen objetos mutables

Оглавление

Consideremos ahora el caso de un objeto inmutable que contiene objetos mutables, como el de una tupla que contiene un conjunto y una lista:


Los elementos de un objeto contenedor son simplemente referencias a los correspondientes objetos, como se muestra en la Figura 1.10.


Figura 1.10 - Objeto inmutable que contiene objetos mutables.

La inmutabilidad consiste en no poder modificar las referencias de la tupla, es decir, en no poder efectuar una asignación del siguiente tipo:


Esto significa que no es posible que t[0] haga referencia a un objeto distinto al conjunto con identidad 3072619996. Pero esto no quiere decir que el objeto al cual t[0] se refiere no pueda ser modificado:


El resultado de t[0].add('c') y t[1].append(4) se muestra en la Figura 1.11, en la cual se puede ver cómo los objetos a los cuales t[0] y t[1] se refiere han sido modificados.


Figura 1.11 - Los objetos mutables contenidos en un objeto inmutable pueden ser modificados.

El gran libro de Python

Подняться наверх