En Python, las variables pueden ser de tipo mutable o inmutable. La diferencia entre ambos radica en si su valor puede cambiar después de ser creado o no.
Los objetos mutables son aquellos cuyo contenido se puede modificar sin cambiar su identidad.
Algunos ejemplos comunes incluyen listas, diccionarios y conjuntos (sets).
Las listas son mutables, lo que significa que puedes modificar sus elementos sin crear una nueva lista.
mi_lista = [1, 2, 3]
mi_lista[0] = 10
print(mi_lista)
# Salida: [10, 2, 3] mi_dict = {"nombre": "Brenda", "edad": 25}
mi_dict["edad"] = 26
print(mi_dict)
# Salida: {"nombre": "Brenda", "edad": 26} Los conjuntos (sets) en Python son mutables, lo que significa que puedes agregar o eliminar elementos después de su creación.
mi_conjunto = {1, 2, 3}
mi_conjunto.add(4) # Agregar un nuevo elemento
print(mi_conjunto)
# Salida: {1, 2, 3, 4}
mi_conjunto.remove(2) # Eliminar un elemento existente
print(mi_conjunto)
# Salida: {1, 3, 4} Los objetos inmutables no se pueden modificar después de ser creados.
Esto incluye tipos como enteros, flotantes, cadenas y tuplas.
Las cadenas de texto son inmutables. Cualquier “modificación” crea una nueva cadena.
mi_texto = "Hola"
mi_nuevo_texto = mi_texto + " Mundo"
print(mi_texto)
# Salida: "Hola"
print(mi_nuevo_texto)
# Salida: "Hola Mundo" mi_tupla = (1, 2, 3)
# mi_tupla[0] = 10 # Esto generará un error
print(mi_tupla)
# Salida: (1, 2, 3) Para entender mejor la diferencia, observa lo que ocurre con una lista (mutable) y una tupla (inmutable):
# Lista mutable
mi_lista = [1, 2, 3]
otra_lista = mi_lista
mi_lista.append(4)
print(otra_lista)
# Salida: [1, 2, 3, 4]
# Tupla inmutable
mi_tupla = (1, 2, 3)
otra_tupla = mi_tupla
mi_tupla = mi_tupla + (4,)
print(otra_tupla)
# Salida: (1, 2, 3)
print(mi_tupla)
# Salida: (1, 2, 3, 4) La mutabilidad es un concepto esencial en Python que afecta cómo se comportan los datos en tu programa. Usar objetos mutables o inmutables depende del contexto y los requerimientos de tu código.