Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Inmutabilidad de las Cadenas | Cadenas de texto
Tipos de Datos en Python

bookInmutabilidad de las Cadenas

En Python, las cadenas 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 un valor.

123456
s = "hello" t = "H" + s[1:] # Creates a new string: "Hello" print(t) s[0] = "H" # TypeError: strings don't support item assignment
copy

La mayoría de los métodos de cadenas devuelven una nueva cadena y dejan la original sin cambios.

12345678
# Cleaning up user input from a registration form user_name = " Alice " user_name.strip() # returns "Alice", but the variable still has spaces print(user_name) # " Alice " user_name = user_name.strip() # assign the cleaned value back print(user_name) # "Alice" → cleaned and ready to store
copy

Encadenar métodos está bien, pero recuerda que obtienes un nuevo objeto en cada paso.

123456
# Normalizing a user's chat message before saving it user_message = " hello\n" clean_message = user_message.strip().upper() print(user_message) # original remains " hello\n" print(clean_message) # "HELLO" → cleaned and ready for processing
copy

"Modificación" mediante la creación de una nueva cadena

Utilizar segmentación, replace o concatenación para producir un nuevo valor.

1234567
s = "data" s = s.replace("t", "T") # "daTa" print(s) s = s[:1] + "A" + s[2:] # "dAta" print(s)
copy

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:

1234
# Combining message parts received from a device response_parts = ["Status:", " ", "200", "\n", "Success"] response_message = "".join(response_parts) # "Status: 200\nSuccess" print(response_message)
copy
Note
Nota

Aprenderás más sobre patrones de unión y formato 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 como salida?

3. Se necesita ensamblar una cadena larga a partir de muchas piezas pequeñas. ¿Qué se recomienda?

question mark

¿Qué línea intenta modificar una cadena en el lugar y generará un error?

Select the correct answer

question mark

¿Qué mostrará el código como salida?

Select the correct answer

question mark

Se necesita ensamblar una cadena larga a partir de muchas piezas pequeñas. ¿Qué se recomienda?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 4

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Suggested prompts:

Can you explain why string immutability is important in Python?

What are some common mistakes beginners make with string immutability?

Can you show more examples of efficient string building?

Awesome!

Completion rate improved to 3.45

bookInmutabilidad de las Cadenas

Desliza para mostrar el menú

En Python, las cadenas 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 un valor.

123456
s = "hello" t = "H" + s[1:] # Creates a new string: "Hello" print(t) s[0] = "H" # TypeError: strings don't support item assignment
copy

La mayoría de los métodos de cadenas devuelven una nueva cadena y dejan la original sin cambios.

12345678
# Cleaning up user input from a registration form user_name = " Alice " user_name.strip() # returns "Alice", but the variable still has spaces print(user_name) # " Alice " user_name = user_name.strip() # assign the cleaned value back print(user_name) # "Alice" → cleaned and ready to store
copy

Encadenar métodos está bien, pero recuerda que obtienes un nuevo objeto en cada paso.

123456
# Normalizing a user's chat message before saving it user_message = " hello\n" clean_message = user_message.strip().upper() print(user_message) # original remains " hello\n" print(clean_message) # "HELLO" → cleaned and ready for processing
copy

"Modificación" mediante la creación de una nueva cadena

Utilizar segmentación, replace o concatenación para producir un nuevo valor.

1234567
s = "data" s = s.replace("t", "T") # "daTa" print(s) s = s[:1] + "A" + s[2:] # "dAta" print(s)
copy

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:

1234
# Combining message parts received from a device response_parts = ["Status:", " ", "200", "\n", "Success"] response_message = "".join(response_parts) # "Status: 200\nSuccess" print(response_message)
copy
Note
Nota

Aprenderás más sobre patrones de unión y formato 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 como salida?

3. Se necesita ensamblar una cadena larga a partir de muchas piezas pequeñas. ¿Qué se recomienda?

question mark

¿Qué línea intenta modificar una cadena en el lugar y generará un error?

Select the correct answer

question mark

¿Qué mostrará el código como salida?

Select the correct answer

question mark

Se necesita ensamblar una cadena larga a partir de muchas piezas pequeñas. ¿Qué se recomienda?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 4
some-alt