2.
7 Cadena de Caracteres
Cadenas de caracteres
• Las cadenas de caracteres es uno de los tipos de datos más populares
en Python.
• Se considera un tipo de dato compuesto porque están hechas de
elementos más pequeños llamados caracteres.
• Se pueden crear utilizando comillas simples o dobles .
Sumar cadenas de caracteres
>>> "Un divertido "+"programa "+"de "+ "radio"
'Un divertido programa de radio'
>>>
Multiplicar una cadena s por un número k
>>> 3 * "programas "
'programas programas programas '
>>> "programas " * 3
'programas programas programas '
>>>
Trabajando con partes de una cadena
• El operador corchete [] selecciona sólo un caracter de una cadena:
>>> fruta = "banana"
>>> letra = fruta[1]
>>> print(letra)
• Resultado???
• La letra en la posición dos (2)
TIP:
Las posiciones empiezan desde 1, los índices desde 0.
Índices
• A la expresión entre corchetes se le llama índice.
• 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.
Tamaño de una cadena de caracteres
• La función len devuelve el número de caracteres de una cadena:
>>> fruta = "banana"
>>> len(fruta)
6
• Si deseamos retornar la úlBma letra de la cadena de caracteres?
longitud = len(fruta)
ultima = fruta[longitud-1]
ultima = fruta[-1]
Segmentos de cadenas de caracteres - slices
Ø 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.
TIP:
Hay que tener cuidado con salirse del rango de una cadena
Ejemplo
• url = [Link]
• url1 = [Link]
• url2 = [Link]
¿Cómo se que URL es de Ecuador, Chile o México?
pais=url[-2:]
Funciones básicas
Función Como se aplica Descripción
count [Link](x) Cuenta el número de ocurrencias de x en un string.
replace [Link](x,y) Devuelve un string con cada ocurrencia de x reemplazada por y.
Ejemplo:
fruta='banana’
cantA=[Link]('a')
print(cantA) #el resultado es 3
palNueva= [Link]('a',"A")
print(palNueva) #el resultado es bAnAnA
Búsqueda
• Para buscar una subcadena (o un caracter) en una
cadena, solamente necesitamos saber si una cadena
contiene cierto caracter o cierta subcadena.
• Usando el operador in
if 'la' in 'hola':
print('¡Está!')
¡Está!
• Devuelve un valor de True si la subcadena o caracter
se encuentra, caso contrario retorna False.
Búsqueda
• Para buscar una subcadena (o un caracter) en una
cadena, solamente necesitamos saber si una cadena
contiene cierto caracter o cierta subcadena.
• Usando la función index()
>>> cadena = "hola”
>>> [Link]('a')
3
>>> [Link]('ha')
# index() lanza una excepción
Traceback (most recent call last):
File "", line 1, in
ValueError: substring not found
Búsqueda
• Para buscar una subcadena (o un caracter) en una
cadena, solamente necesitamos saber si una cadena
contiene cierto caracter o cierta subcadena.
• Usando la función find()
>>> cadena = "hola”
>>> [Link]('a')
# si la cadena está, tanto index() como find() funcionan
igual
3
>>> [Link]('ha')
# 'ha' no está en 'hola', find() retorna -1
-1
2.8 Operaciones con Cadena de Caracteres
Formato
• Conver=r a mayúscula la primera letra
• Función: capitalize()
• Retorna: una copia de la cadena con la primera letra en mayúsculas.
>>> cadena = "bienvenido a mi aplicación"
>>> print ([Link]())
Bienvenido a mi aplicación
Formato
• Convertir una cadena a minúsculas
• Método: lower()
• Retorna: una copia de la cadena en minúsculas.
>>> cadena = "Hola Mundo"
>>> print ([Link]())
hola mundo
Formato
• Convertir una cadena a mayúsculas
• Método: upper()
• Retorna: una copia de la cadena en mayúsculas.
>>> cadena = "Hola Mundo"
>>> print ([Link]())
HOLA MUNDO
Formato
• Convertir mayúsculas a minúsculas y viceversa
• Método: swapcase()
• Retorna: una copia de la cadena convertidas las mayúsculas en minúsculas y viceversa.
>>> cadena = "Hola Mundo"
>>> print ([Link]())
hOLA mUNDO
Formato
• Convertir una cadena en Formato Título
• Método: title()
• Retorna: una copia de la cadena convertida.
>>> cadena = "hola mundo"
>>> print ([Link]())
Hola Mundo
Funciones con cadenas de caracteres
Función Descripción
[Link]() Retorna el número de ocurrencias de una subcadena dentro de
una cadena de caracteres.
[Link]() Retorna True si la cadena de caracteres termina con una
subcadena especificada, caso contrario retorna False
[Link]() Retorna True si la cadena de caracteres empieza con una
subcadena especificada, caso contrario retorna False
Funciones con cadenas de caracteres
Función Descripción
[Link]() Retorna True si la cadena es alfanumérica, caso contrario retorna False
[Link]() Retorna True si la cadena es alfabética, caso contrario retorna False
[Link]() Retorna True si la cadena es numérica, caso contrario retorna False
[Link]() Retorna True si la cadena es decimal, caso contrario retorna False
[Link]() Retorna True si la cadena contiene solo minúsculas, caso contrario retorna False
[Link]() Retorna True si la cadena contiene solo mayúsculas, caso contrario retorna False
FUNCIONES CADENAS DE CARACTERES
Función Descripción
[Link]() Devuelve un string con todos sus caracteres en minúsculas.
[Link]() Devuelve un string con todos sus caracteres en mayúsculas.
[Link](x,y) Devuelve un string con cada ocurrencia de x reemplazada por y.
[Link](x) Cuenta el número de ocurrencias de x en un string.
[Link](x) Devuleve la ubicación de la primera ocurrencia de x.
[Link]() Devuelve True si cada carácter del string es una letra.
a,b=split(x) Divide la cadena en N variables de acuerdo al carácter x
Eliminar caracteres a la izquierda y derecha
de una cadena
• Función: strip(["caracter"])
• Retorna: la cadena sustituida.
>>> cadena = " [Link] "
>>> print [Link]()
[Link]
>>> print [Link](' ')
[Link]
Reemplazar texto
• En Python esto lo hacemos con el método replace
• Función: replace("subcadena a buscar", "subcadena por la cual reemplazar")
• 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:
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!" #ERROR
Traceback (most recent call last):
saludo[2] = 'L' # ¡ERROR!
File "<stdin>", line 1, in <module>
print saludo TypeError: 'str' object does not support item assignment
TIP:
Las Cadenas de Caracteres (str) son INMUTABLES.