EniunEniunEniunEniun
  • Inicio
  • Blog
  • Cursos
  • Contactar
  • DTD
✕
            Sin resultados Ver todos los resultados

            Cadenas de texto en Python

            • Inicio
            • Python Python3
            • Cadenas de texto en Python
            13/07/2026
            Python tutorial

            Después de aprender a solicitar datos al usuario mediante input(), es el momento de trabajar con uno de los tipos de datos más utilizados en programación: las cadenas de texto. En este capítulo aprenderemos cómo crear textos, acceder a sus caracteres, comprobar si contienen determinadas palabras y utilizar algunos de sus métodos más habituales.

            Contenidos del artículo

            Toggle
            • 1. ¿Qué es una cadena de texto?
            • 2. Crear cadenas de texto
            • 3. Concatenar y repetir cadenas
            • 4. Obtener la longitud de una cadena
            • 5. Acceder a los caracteres mediante índices
            • 6. Comprobar si un texto contiene otro
            • 7. Métodos básicos de las cadenas
            • 8. Errores habituales
            • 9. Actividad
            • 10. Prácticas resueltas
              • 10.1. Mostrar las iniciales de un nombre
              • 10.2. Contar caracteres
              • 10.3. Convertir un texto a mayúsculas
              • 10.4. Comprobar si una palabra aparece en una frase
              • 10.5. Crear un nombre de usuario
            • 11. Test de autoevaluación
              • 11.1. ¿Qué tipo de dato representa una cadena de texto en Python?
              • 11.2. ¿Cuál de las siguientes instrucciones crea correctamente una cadena de texto?
              • 11.3. ¿Qué mostrará este programa?
              • 11.4. ¿Qué resultado produce esta instrucción?
              • 11.5. ¿Qué devuelve la función len()?
              • 11.6. ¿Qué mostrará este programa?
              • 11.7. ¿Qué carácter devuelve texto[-1]?
              • 11.8. ¿Qué operador permite comprobar si un texto contiene otro?
              • 11.9. ¿Qué mostrará este programa?
              • 11.10. ¿Qué hace el método upper()?
              • 11.11. ¿Qué hace el método strip()?
              • 11.12. ¿Qué método sustituye una palabra por otra?
              • 11.13. ¿Qué devuelve find() cuando no encuentra el texto buscado?
              • 11.14. ¿Cuál de estos fragmentos producirá un error?
              • 11.15. ¿Cuál de las siguientes afirmaciones es correcta?
            • 12. Actividad de ampliación

            1. ¿Qué es una cadena de texto?

            Una cadena de texto, o string, es un conjunto de caracteres utilizado para almacenar información textual.

            Por ejemplo:

            nombre = "Andrea"

            También podemos almacenar frases completas.

            mensaje = "Bienvenido al curso de Python"

            Las cadenas pueden contener letras, números, espacios y muchos otros caracteres.

            codigo = "A123"

            ¿Sabías que…? En Python el tipo de dato de las cadenas de texto se llama str, abreviatura de string.

            2. Crear cadenas de texto

            Las cadenas pueden escribirse utilizando comillas simples o dobles.

            nombre = "Andrea"
            ciudad = 'Elche'

            Ambas formas son equivalentes.

            Si necesitamos incluir comillas dentro del texto, normalmente utilizaremos el otro tipo de comillas.

            frase = 'Ella dijo "Hola".'

            También podemos crear cadenas vacías.

            texto = ""

            Consejo: Utiliza siempre el mismo tipo de comillas dentro de un proyecto para mantener un estilo uniforme.

            3. Concatenar y repetir cadenas

            Podemos unir varias cadenas mediante el operador +.

            nombre = "Andrea"
            apellido = "Lluch"
            
            print(nombre + " " + apellido)

            Resultado:

            Andrea Lluch

            También podemos repetir una cadena utilizando *.

            print("-" * 20)

            Resultado:

            --------------------

            4. Obtener la longitud de una cadena

            La función len() devuelve el número de caracteres de una cadena.

            texto = "Python"
            
            print(len(texto))

            Resultado:

            6

            También cuenta los espacios.

            print(len("Hola mundo"))

            Resultado:

            10

            5. Acceder a los caracteres mediante índices

            Cada carácter ocupa una posición.

            P  y  t  h  o  n
            0  1  2  3  4  5

            Podemos acceder a cada uno mediante su índice.

            texto = "Python"
            
            print(texto[0])
            print(texto[3])

            Resultado:

            P
            h

            También podemos utilizar índices negativos.

             P  y  t  h  o  n
             0  1  2  3  4  5
            -6 -5 -4 -3 -2 -1
            print(texto[-1])

            Resultado:

            n

            Advertencia: Si intentamos acceder a una posición que no existe se producirá un IndexError.

            6. Comprobar si un texto contiene otro

            Podemos comprobar si una cadena aparece dentro de otra utilizando in.

            texto = "Python"
            
            print("Py" in texto)
            print("Java" in texto)

            Resultado:

            True
            False

            También podemos utilizar not in.

            print("Java" not in texto)

            Resultado:

            True

            ¿Sabías que…? Los operadores in y not in devuelven siempre un valor lógico (True o False).

            Más adelante utilizaremos estos operadores junto con las estructuras condicionales (if) para comprobar si un texto contiene una palabra antes de tomar una decisión y con los bucles (for) para recorrer los caracteres de una cadena uno a uno.

            Por ejemplo, en próximos capítulos podremos escribir instrucciones como estas:

            # Comprueba si el texto contiene el carácter @
            if "@" in correo:
                print("El correo parece válido.")

            o

            # Recorre uno a uno los caracteres de una cadena
            for letra in "Python":
                print(letra)

            No te preocupes si todavía no entiendes estas instrucciones. Las aprenderemos paso a paso en los próximos capítulos.

            7. Métodos básicos de las cadenas

            Las cadenas disponen de numerosos métodos que permiten modificarlas o analizarlas.

            Convertir a mayúsculas.

            El método upper() convierte todos los caracteres de la cadena en mayúsculas.

            texto = "Python"
            
            print(texto.upper())

            Resultado:

            PYTHON

            Convertir a minúsculas.

            El método lower() convierte todos los caracteres de la cadena en minúsculas.

            print(texto.lower())

            Resultado:

            python

            Eliminar espacios al principio y al final.

            El método strip() elimina los espacios que aparecen al principio y al final de una cadena.

            texto = "  Python  "
            
            print(texto.strip())

            Resultado:

            Python

            Buscar y reemplazar texto.

            El método replace() sustituye un texto por otro.

            texto = "Hola mundo"
            
            print(texto.replace("mundo", "Python"))

            Resultado:

            Hola Python

            Buscar la posición de un texto.

            El método find() devuelve la posición en la que comienza un texto dentro de otro.

            texto = "Programación"
            
            print(texto.find("gra"))

            Resultado:

            3

            Si no encuentra el texto devuelve -1.

            Por ejemplo:

            texto = "Programación"
            print(texto.find("Python"))

            Resultado:

            -1

            ¿Sabías que…? En Python las posiciones comienzan en 0, por eso "gra" empieza en la posición 3 dentro de "Programación".

            Advertencia: Los métodos no modifican la cadena original, sino que devuelven una nueva cadena con el resultado. Si quieres conservar el cambio, debes guardarlo en una variable

            8. Errores habituales

            ErrorSolución
            Olvidar cerrar las comillasComprobar que la cadena empieza y termina con el mismo tipo de comillas.
            Acceder a una posición inexistenteComprobar el índice o utilizar len().
            Escribir Upper() o LOWER()Los nombres de los métodos distinguen entre mayúsculas y minúsculas.
            Pensar que upper() modifica la variableGuardar el resultado en una variable si queremos conservarlo.
            Pensar que len() solo cuenta letrasRecuerda que también cuenta espacios y otros caracteres.
            Tabla 1. Errores habituales al trabajar con cadenas de texto.

            Consejo: Si aparece un IndexError, revisa que la posición indicada exista realmente dentro de la cadena.

            Al finalizar este capítulo ya sabemos trabajar con cadenas de texto, acceder a sus caracteres y utilizar algunos de sus métodos más habituales. En el siguiente capítulo aprenderemos a utilizar las estructuras condicionales if, elif y else para que nuestros programas reaccionen de forma diferente según los datos introducidos por el usuario.

            9. Actividad

            Crea un archivo llamado cadenas.py.

            1. Crea una variable con tu nombre completo.
            2. Muestra:
              • El texto original.
              • El texto en mayúsculas.
              • El texto en minúsculas.
              • El número de caracteres.
              • La primera letra.
              • La última letra.
            3. Comprueba si tu nombre contiene la letra a.
            4. Sustituye todos los espacios por guiones utilizando replace().

            10. Prácticas resueltas

            Los siguientes ejercicios permiten practicar las operaciones más habituales con cadenas de texto. Intenta resolverlos antes de consultar la solución.

            10.1. Mostrar las iniciales de un nombre

            Crea un archivo llamado iniciales.py.

            Solicita al usuario su nombre y su primer apellido. Muestra las iniciales de ambos.

            Ejemplo:

            Nombre: Andrea
            Apellido: Lluch
            Iniciales: A L

            Solución

            nombre = input("Nombre: ")
            apellido = input("Apellido: ")
            
            print("Iniciales:", nombre[0], apellido[0])

            10.2. Contar caracteres

            Crea un archivo llamado longitud.py.

            Solicita una frase y muestra cuántos caracteres contiene utilizando len().

            Ejemplo:

            Introduce una frase: Hola mundo
            Número de caracteres: 10

            Solución

            frase = input("Introduce una frase: ")
            
            print("Número de caracteres:", len(frase))

            10.3. Convertir un texto a mayúsculas

            Crea un archivo llamado mayusculas.py.

            Solicita una frase y muéstrala completamente en mayúsculas.

            Ejemplo:

            Introduce una frase: Hola Python
            HOLA PYTHON

            Solución

            frase = input("Introduce una frase: ")
            
            print(frase.upper())

            10.4. Comprobar si una palabra aparece en una frase

            Crea un archivo llamado buscar.py.

            Solicita una frase y comprueba si contiene la palabra Python.

            Muestra el resultado de la comprobación.

            Ejemplo 1:

            Introduce una frase: Estoy aprendiendo Python
            ¿Contiene la palabra Python?: True

            Ejemplo 2:

            Introduce una frase: Me gusta programar
            ¿Contiene la palabra Python?: False

            Solución

            frase = input("Introduce una frase: ")
            
            print("¿Contiene la palabra Python?:", "Python" in frase.lower())

            10.5. Crear un nombre de usuario

            Crea un archivo llamado usuario.py.

            Solicita el nombre y el primer apellido del usuario.

            Genera un nombre de usuario uniendo ambos textos en minúsculas y sin espacios.

            Ejemplo:

            Nombre: Andrea
            Apellido: Lluch
            Nombre de usuario: andrealluch

            Solución

            nombre = input("Nombre: ")
            apellido = input("Apellido: ")
            
            usuario = nombre.lower() + apellido.lower()
            
            print("Nombre de usuario:", usuario)

            Sí. Mantendría exactamente el mismo formato que en los capítulos anteriores: 15 preguntas, mezclando teoría, interpretación de código y errores frecuentes.


            11. Test de autoevaluación

            Comprueba si has comprendido los conceptos principales de este capítulo respondiendo al siguiente test. Si alguna respuesta no es correcta, revisa el apartado correspondiente antes de continuar con el siguiente tema.

            11.1. ¿Qué tipo de dato representa una cadena de texto en Python?

            a) int

            b) float

            c) str ✅

            d) bool

            Retroalimentación: En Python las cadenas de texto pertenecen al tipo str (string).


            11.2. ¿Cuál de las siguientes instrucciones crea correctamente una cadena de texto?

            a) nombre = Andrea

            b) nombre = «Andrea» ✅

            c) nombre = 123

            d) nombre = True

            Retroalimentación: Los textos deben escribirse entre comillas simples o dobles.


            11.3. ¿Qué mostrará este programa?

            nombre = "Ana"
            print(nombre + " López")

            a) AnaLópez

            b) Ana López ✅

            c) Ana + López

            d) Error

            Retroalimentación: El operador + permite concatenar cadenas de texto.


            11.4. ¿Qué resultado produce esta instrucción?

            print("*" * 5)

            a)

            *****

            ✅

            b)

            *
            *
            *
            *
            *

            c)

            **

            d) Error

            Retroalimentación: El operador * repite una cadena el número de veces indicado.


            11.5. ¿Qué devuelve la función len()?

            a) El primer carácter.

            b) La longitud de una cadena. ✅

            c) La última letra.

            d) El tipo de dato.

            Retroalimentación: len() devuelve el número de caracteres de una cadena.


            11.6. ¿Qué mostrará este programa?

            texto = "Python"
            print(texto[0])

            a) y

            b) P ✅

            c) n

            d) Error

            Retroalimentación: Los índices comienzan en 0.


            11.7. ¿Qué carácter devuelve texto[-1]?

            texto = "Python"

            a) P

            b) y

            c) n ✅

            d) Error

            Retroalimentación: El índice -1 corresponde al último carácter de la cadena.


            11.8. ¿Qué operador permite comprobar si un texto contiene otro?

            a) ==

            b) +

            c) in ✅

            d) %

            Retroalimentación: El operador in devuelve True si una cadena aparece dentro de otra.


            11.9. ¿Qué mostrará este programa?

            texto = "Python"
            print("Py" in texto)

            a) False

            b) True ✅

            c) Python

            d) Error

            Retroalimentación: "Py" forma parte de la cadena "Python".


            11.10. ¿Qué hace el método upper()?

            a) Convierte la cadena a minúsculas.

            b) Convierte la cadena a mayúsculas. ✅

            c) Elimina espacios.

            d) Cuenta caracteres.

            Retroalimentación: upper() devuelve una nueva cadena escrita completamente en mayúsculas.


            11.11. ¿Qué hace el método strip()?

            a) Elimina espacios al principio y al final de la cadena. ✅

            b) Convierte el texto en mayúsculas.

            c) Busca una palabra.

            d) Sustituye un texto por otro.

            Retroalimentación: strip() elimina únicamente los espacios iniciales y finales.


            11.12. ¿Qué método sustituye una palabra por otra?

            a) upper()

            b) replace() ✅

            c) len()

            d) find()

            Retroalimentación: replace() devuelve una nueva cadena con el texto sustituido.


            11.13. ¿Qué devuelve find() cuando no encuentra el texto buscado?

            a) 0

            b) None

            c) False

            d) -1 ✅

            Retroalimentación: Si el texto no existe dentro de la cadena, find() devuelve -1.


            11.14. ¿Cuál de estos fragmentos producirá un error?

            a)

            texto = "Python"
            print(texto[2])

            b)

            texto = "Python"
            print(texto[10])

            ✅

            c)

            texto = "Python"
            print(len(texto))

            d)

            texto = "Python"
            print(texto.upper())

            Retroalimentación: Intentar acceder a una posición que no existe produce un IndexError.


            11.15. ¿Cuál de las siguientes afirmaciones es correcta?

            a) Los métodos como upper() modifican siempre la cadena original.

            b) len() devuelve el tipo de dato.

            c) Los métodos de las cadenas devuelven una nueva cadena con el resultado. ✅

            d) Los índices comienzan en 1.

            Retroalimentación: Los métodos como upper(), lower() o replace() no modifican la cadena original; devuelven una nueva cadena con el resultado.

            12. Actividad de ampliación

            Descubre más métodos para trabajar con cadenas

            En este capítulo hemos aprendido algunos de los métodos más utilizados para manipular cadenas de texto, como upper(), lower(), strip(), replace() y find(). Sin embargo, Python dispone de muchos más.

            Investiga dos métodos diferentes de los que no aparecen en este capítulo y responde a las siguientes cuestiones:

            1. ¿Cómo se llama cada método?
            2. ¿Para qué sirve?
            3. Escribe un ejemplo de utilización.
            4. ¿En qué situación podría resultar útil?

            Puedes consultar la documentación oficial de Python.

            Objetivo: descubrir que las cadenas de texto disponen de numerosos métodos y aprender a consultar la documentación oficial de Python para ampliar conocimientos de forma autónoma.

            Navegación de entradas

            ← Solicitar datos al usuario con input() en Python
            Estructuras condicionales en Python: if, elif y else →

            Tutorial Python

            • 1. Introducción a Python
            • 2. Instalar Python
            • 3. Elegir un entorno de desarrollo
            • 4. Instalar VS Code y la extensión de Python
            • 5. Crear mi primer programa en Python
            • 6. Variables y tipos de datos
            • 7. Expresiones y operadores
            • 8. Solicitar datos al usuario con input()
            • 9. Cadenas de texto en Python
            • 10. Estructuras condicionales: if, elif y else
            • 11. Bucles: while y for
            • 12. Instrucciones break, continue y pass
            • 13. Detección y corrección de errores
            • 14. Funciones
            • 15. Ejercicios resueltos

            ¡Invítanos a un café!

            ¿Cómo donar?
            Ayúdanos a seguir creando contenido relacionado con la informática y el diseño y desarrollo web en Eniun. ¡Gracias por tu apoyo!
            Eniun

            info@eniun.com
            Reportar un error

            Servicios

            Desarrollo Web
            Diseño Web
            Marketing Digital
            Social Media
            Experiencia de Usuario
            Cursos formativos

            Suscríbete a la newsletter

            Únete a nuestra comunidad para recibir contenido exclusivo y relevante para diseñadores y desarrolladores web.

            Apuntarme

            © 2026 Eniun | Política de privacidad y cookies

                      Sin resultados Ver todos los resultados