2. Cadenas de caracteres
• La cadena de caracteres es uno de los tipos de datos más populares
en Python.
• Se considera un tipo de dato compuesto porque la cadena está
formada por elementos más pequeños llamados caracteres.
• Se pueden crear utilizando comillas simples o dobles .
Tipo Nombre Descripción Ejemplo
Cadenas str Expresiones (texto) formadas
por caracteres.
Se pueden representar con
comillas simples o dobles.
‘Hola’
“Mundo”
3. Índices de una cadena
• Se puede acceder a los caracteres de una cadena individualmente, utilizando un
índice (proceso conocido como indexar).
• Los índices inician en cero y terminan en la longitud de la cadena, menos uno.
• Un índice identifica a un miembro de un conjunto ordenado, en este caso el
conjunto de caracteres de la cadena.
• El índice puede ser cualquier expresión entera.
4. Índices de una cadena
• El operador corchete [] selecciona solo un caracter de una cadena:
• Se muestra la letra en la posición dos (2)
>>> fruta = "banana"
>>> letra = fruta[1]
>>> print (letra)
TIP:
Las posiciones empiezan desde 1, los índices desde 0.
5. Operaciones con cadenas
Operación Acción
x in s Indica si el texto de la cadena x está contenido en la cadena s
x not in s Indica si el texto de la cadena x no está contenido en la cadena s
s + t Concatena dos cadenas
s * n, n * s Multiplica (repite) una cadena n veces
len(s) Indica la longitud de la cadena
min(s) Indica el menor caracter dentro de la cadena (de acuerdo a su
código ASCII)
max(s) Indica el mayor caracter dentro de la cadena (de acuerdo a su
código ASCII)
6. Operador in (Búsqueda en cadenas)
• Para buscar un caracter o una cadena dentro de otra cadena, solamente
necesitamos verificar si la cadena lo contiene.
• El operador in devuelve un valor de True si la subcadena o caracter se
encuentra, caso contrario retorna False.
>>> 'la' in 'hola':
True
>>> 'lo' in 'hola':
False
7. Tamaño de una cadena
• La función len() indica el número de caracteres de una cadena:
• Si deseamos conocer la última letra de la cadena de caracteres:
>>> fruta = "banana"
>>> len(fruta)
6
longitud = len(fruta)
ultima = fruta[longitud-1]
#el resultado es igual que
ultima = fruta[-1]
8. Funciones con cadenas (formato)
Operación Acción
str.isalnum() Indica si la cadena (completa) es alfanumérica
str.isalpha() Indica si la cadena (completa) es alfabética
str.isdigit() Indica si la cadena (completa) está formada por
dígitos
str.islower() Indica si la cadena está formada por minúsculas
str.isupper() Indica si la cadena está formada por mayúsculas
str.lower() Muestra la cadena convertida en minúsculas
str.upper() Muestra la cadena convertida en mayúsculas
9. Formato
• Convertir una cadena a minúsculas o mayúsculas
• Método: lower() Retorna: una copia de la cadena en minúsculas.
>>> cadena = "Hola Mundo"
>>> print (cadena.lower())
hola mundo
>>> cadena = "Hola Mundo"
>>> print (cadena.upper())
HOLA MUNDO
• Método: upper() Retorna: una copia de la cadena en mayúsculas.
10. Formato
• Función: capitalize()
• Retorna: una copia de la cadena con la primera letra en mayúsculas.
>>> cadena = "bienvenido a mi aplicación"
>>> print (cadena.capitalize())
Bienvenido a mi aplicación
• Convertir una cadena en Formato Título
• Método: title() Retorna: una copia de la cadena convertida.
>>> cadena = "hola mundo"
>>> print (cadena.title())
Hola Mundo
11. Funciones con cadenas.
Operación Acción
str.count()
str.endswith()
str.startswith()
str.find()
str.index()
str.strip()
str.replace(x,y)
str.split()
• Llenar la tabla con las acciones que realiza cada método
12. Búsqueda en cadenas
• Para buscar un caracter o una subcadena en otra cadena, solamente necesitamos
saber si la cadena la contiene, y en qué posición.
• Se puede buscar utilizando la función index() o también con find()
>>> cadena = "hola”
>>> cadena.index('a')
3
>>> cadena.index('ha')
# index() genera un error
Traceback (most recent call last):
File "", line 1, in
ValueError: substring not found
>>> cadena = "hola”
>>> cadena.find('a’)
3
# si la cadena está, tanto index() como
find() funcionan igual
>>> cadena.find('ha’)
-1
# 'ha' no está en 'hola', find() retorna -1
13. Eliminar caracteres a ambos lados
• Función: strip("caracter")
• Retorna: la cadena sustituida.
>>> cadena = " www.espol.edu.ec "
>>> print (cadena.strip())
www.espol.edu.ec
#elimina los espacios al inicio y al final (por default)
>>> print (cadena.strip(' '))
www.espol.edu.ec
#elimina los espacios, o cualquier carácter especificado en los paréntesis
14. Reemplazar texto
• En Python esto lo hacemos con el método replace
• Función: replace("cadena a buscar", "cadena que se reemplaza")
• Retorna: la cadena reemplazada.
>>> buscar = "nombre apellido"
>>> reemplazar_por = "Juan Pérez"
>>> print ("Estimado Sr. nombre apellido:".replace(buscar, reemplazar_por))
Estimado Sr. Juan Pérez:
15. Operaciones con cadenas
Operación Acción
s[i] Muestra el caracter indicado por el índice i en la cadena s
s[i:j] Muestra caracteres en el rango entre el índice i (incluido) y el
índice j (no incluido)
s[i:j:k] Muestra caracteres en el rango entre el índice i (incluido) y el
índice j (no incluido), con saltos indicados por k. Si el step es
negativo, se recorre la cadena desde la derecha.
Slicing (segmento, recorte) cadena[start:stop:step]
TIP:
Hay que tener cuidado de no salirse del rango de una cadena.
16. Slicing de cadenas
➢ Dividir la cadena de caracteres s=“Fundamentos”
Code Result Descripción
s[2:5] nda Caracteres en los indices 2,3,4.
s[ :5] Funda Los primero 5 caracteres.
s[5: ] mentos Caracteres desde el índice 5 al final.
s[ -2: ] os Los últimos dos caracteres.
s[ : ] Fundamentos Toda la cadena de caracteres.
s[ 1 : 7 : 2] udm Caracteres desde el índice 1 al 6, step 2.
s[ : : -1] sotnemadnuF Un step negativo muestra al revese el string.
17. • url = www.espol.edu.ec
• url1 = www.uchile.edu.cl
• url2 = www.unam.edu.mx
¿Cómo saber si la URL es de Ecuador, Chile o México?
url[-2:]
Slicing, ejemplos
18. Mutabilidad
• Una cadena de caracteres es inmutable, es decir sus elementos no se pueden
modificar.
• Si se requieren modificaciones, se debe construir una cadena nueva (muchas
veces esto lo hace automáticamente el intérprete de Python).
saludo = "¡Hola todo el mundo!"
saludo[2] = 'L' # ¡ERROR!
print (saludo)
#ERROR
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
TIP:
Las Cadenas de Caracteres (str) son INMUTABLES.
19. Ejercicio:
• Implemente un progama en Python que pida una cadena de
caracteres y muestre por pantalla lo siguiente:
1. La cadena repetida 5 veces separada por un enter.
2. La cadena con cada letra “a” remplazada por una “e”
3. La cadena escrita al reves y en mayúsculas.
4. Otra cadena formada por los tres primeros y los 3 últimos
caracteres de la cadena.