Sobes.tech
Junior — Middle

¿En qué consiste la característica de inmutabilidad de las cadenas en Python y por qué no pueden ser modificadas después de su creación?

sobes.tech AI

Respuesta de la IA

En Python, las cadenas son objetos inmutables. Esto significa que, una vez creada una cadena, su contenido no puede ser modificado.

Razones de esta característica:

  • Optimización de memoria y rendimiento. La inmutabilidad permite la interning de cadenas, almacenando una sola copia de cadenas iguales en memoria, lo que ahorra recursos.
  • Seguridad y previsibilidad. Si las cadenas no pueden ser modificadas, esto previene cambios accidentales o no deseados en los datos, especialmente al pasar cadenas entre funciones.

Por ejemplo, al intentar modificar directamente un carácter de una cadena:

s = "hello"
s[0] = 'H'  # Error TypeError: 'str' object does not support item assignment

Para cambiar una cadena, es necesario crear una nueva:

s = "hello"
s = 'H' + s[1:]  # Ahora s == "Hello"

De esta manera, las cadenas en Python se implementan como objetos inmutables para mejorar la eficiencia y la seguridad del código.