Inmutabilidad de las Cadenas
En Python, las cadenas de texto son inmutables: una vez creadas, los caracteres que contienen no pueden modificarse en su lugar. Cualquier "modificación" que realices en realidad crea una nueva cadena. Esto es importante tanto para la corrección (evita ediciones accidentales en el lugar) como para el rendimiento (afecta cómo se construyen cadenas más grandes).
Sin ediciones en el lugar
Puedes leer caracteres por índice, pero no puedes asignarles nuevos valores.
123456s = "hello" t = "H" + s[1:] # Creates a new string: "Hello" print(t) s[0] = "H" # TypeError: strings don't support item assignment
La mayoría de los métodos de cadenas devuelven una nueva cadena y dejan la original sin cambios.
123456name = " Alice " name.strip() # returns "Alice" but doesn't change 'name' print(name) # " Alice " name = name.strip() # assign the new value print(name) # "Alice"
El encadenamiento es válido, pero recuerda que obtienes un nuevo objeto en cada paso.
1234msg = " hello\n" clean = msg.strip().upper() print(msg) # original remains " hello\n" print(clean) # "HELLO"
"Modificar" creando una nueva cadena
Utilizar segmentación, replace
o concatenación para producir un nuevo valor.
1234567s = "data" s = s.replace("t", "T") # "daTa" print(t) s = s[:1] + "A" + s[2:] # "dAta" print(t)
Construcción eficiente
El uso repetido de +
en bucles grandes puede ser lento (muchas cadenas intermedias). Un patrón común es recolectar fragmentos y unirlos una sola vez:
12parts = ["ID:", " ", "123", "\n", "OK"] result = "".join(parts) # "ID: 123\nOK"
Aprenderás más patrones de unión y formateo en el próximo capítulo.
1. ¿Qué línea intenta modificar una cadena en el lugar y generará un error?
2. ¿Qué mostrará el código?
3. Necesitas ensamblar una cadena larga a partir de muchos fragmentos pequeños. ¿Qué se recomienda?
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 5
Inmutabilidad de las Cadenas
Desliza para mostrar el menú
En Python, las cadenas de texto son inmutables: una vez creadas, los caracteres que contienen no pueden modificarse en su lugar. Cualquier "modificación" que realices en realidad crea una nueva cadena. Esto es importante tanto para la corrección (evita ediciones accidentales en el lugar) como para el rendimiento (afecta cómo se construyen cadenas más grandes).
Sin ediciones en el lugar
Puedes leer caracteres por índice, pero no puedes asignarles nuevos valores.
123456s = "hello" t = "H" + s[1:] # Creates a new string: "Hello" print(t) s[0] = "H" # TypeError: strings don't support item assignment
La mayoría de los métodos de cadenas devuelven una nueva cadena y dejan la original sin cambios.
123456name = " Alice " name.strip() # returns "Alice" but doesn't change 'name' print(name) # " Alice " name = name.strip() # assign the new value print(name) # "Alice"
El encadenamiento es válido, pero recuerda que obtienes un nuevo objeto en cada paso.
1234msg = " hello\n" clean = msg.strip().upper() print(msg) # original remains " hello\n" print(clean) # "HELLO"
"Modificar" creando una nueva cadena
Utilizar segmentación, replace
o concatenación para producir un nuevo valor.
1234567s = "data" s = s.replace("t", "T") # "daTa" print(t) s = s[:1] + "A" + s[2:] # "dAta" print(t)
Construcción eficiente
El uso repetido de +
en bucles grandes puede ser lento (muchas cadenas intermedias). Un patrón común es recolectar fragmentos y unirlos una sola vez:
12parts = ["ID:", " ", "123", "\n", "OK"] result = "".join(parts) # "ID: 123\nOK"
Aprenderás más patrones de unión y formateo en el próximo capítulo.
1. ¿Qué línea intenta modificar una cadena en el lugar y generará un error?
2. ¿Qué mostrará el código?
3. Necesitas ensamblar una cadena larga a partir de muchos fragmentos pequeños. ¿Qué se recomienda?
¡Gracias por tus comentarios!