0% encontró este documento útil (0 votos)
16 vistas34 páginas

Unidad2 Strings

Este documento describe los tipos de datos fundamentales en programación, con énfasis en los strings o cadenas. Explica cómo indexar, concatenar, extraer subcadenas y usar funciones como len(), find(), count(), split() y formato en strings. También cubre errores comunes y ejemplos de código.

Cargado por

Rafa Lopez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
16 vistas34 páginas

Unidad2 Strings

Este documento describe los tipos de datos fundamentales en programación, con énfasis en los strings o cadenas. Explica cómo indexar, concatenar, extraer subcadenas y usar funciones como len(), find(), count(), split() y formato en strings. También cubre errores comunes y ejemplos de código.

Cargado por

Rafa Lopez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 34

TIPOS DE DATOS

FUNDAMENTOS DE PROGRAMACIÓN
Objetivos
• Diseñar una solución usando estándares de
programación.
• Definir variables e identificar tipos de datos y su uso
adecuado.
• Usar correctamente operadores aritméticos,
comparación y conectores lógicos.
• Resolver problemas usando strings y listas, sus
características y funciones.
STRINGS O CADENAS

Errores comunes
Formatos de salida/impresión
Funciones avanzadas

MANEJO DE STRINGS 22/5/23 3


STRINGS
• Un String es una secuencia de caracteres, normalmente usada para
presentar mensajes, pero en la actualidad su funcionalidad permite
realizar muchas más cosas interesantes: hacer cálculos basado en el
contenido de estas, búsquedas, formatos, etc.

• Es común en aplicaciones personalizar textos para mejorar la


experiencia de usuario.

• Como se indexan los caracteres para la cadena ”Python”?

-6 -5 -4 -3 -2 -1

MANEJO DE STRINGS
SALTOS DE LÍNEA
Para imprimir nuevas líneas o saltos, se usa
“\n”

s = 'Primera línea.\nSegunda línea.'


print(s)

Resultado:
Primera línea.
Segunda línea.

MANEJO DE STRINGS
ERRORES CÓMUNES
• Revisando errores

'doesn't'# usa \' para escapar comillas simples

• Lo correcto sería:
'doesn\'t' o
"doesn't"

• El resultado sería: doesn't

MANEJO DE STRINGS
ERRORES CÓMUNES
• ¿Qué pasaría si imprimo esta cadena?

• print('C:\algun\nombre')

• SOLUCIÓN:
• print(r'C:\algun\nombre')

MANEJO DE STRINGS
CONCATENAR
• Para concatenar palabras se puede usar el operador
“+”.

• Para repetir una silaba o palabra se puede utilizar el


signo *.

saludo = "Hola"
objeto = "mundo"
frase = saludo+" "+objeto #concatenar
print(frase)
print((frase+", ")*4) #repetir 4 veces

• NOTA: No es posible concatenar un número con una


cadena, a menos que el número se convierta a String.

MANEJO DE STRINGS
Indexación o extracción de un cáracter

• Para extraer una letra de una cadena


utilizamos su índice o posición.

palabra = 'Python'
palabra[0] # caracter en la posición 0, extrae
la p.
palabra[5] # caracter en la posición 5, extrae
la n.

MANEJO DE STRINGS
Slicing o extracción de una cadena
• Para extraer un rango de letras de la cadena,
usamos nuevamente las posiciones, pero
normalmente se debe especificar una
posición/índice de inicio y fin.

palabra = 'Python'
palabra[0:3] #caracteres desde la posición 0 hasta la
3 (se excluye el 3ro), se extraería ‘Pyt’

palabra[2:5] #caracteres desde la posición 2 a 5 (se


excluye la quinta letra o caracter), Resultado:‘tho'

MANEJO DE STRINGS
SLICING o EXTRACCIÓN
de una Cadena
• Existe otra forma de extraer un rango de letras de la
cadena, usamos nuevamente las posiciones, pero no es
necesario definir el índice menor o el índice mayor. Pero
si al menos uno.

palabra = 'Python'
palabra[0:] #caracteres desde la posición 0 hasta la
última posición(no se excluye nada), se extraería
‘Python’

palabra[:5] #caracteres desde la posición inicial, 0 por


defecto hasta la posición 5 (se excluye la quinta letra o
caracter), Resultado:‘Pytho’

palabra[:] #si no se especifica posiciones, extrae toda


la cadena

MANEJO DE STRINGS
Index out of range
• ¿Qué ocurre si se coloca una posición no
existente?

• Supongamos el mismo ejemplo: palabra = “Python”, e


intento extraer una letra:
• palabra[100] #genera un error porque no existe el índice. Error fuera de rango

• Pero, si realizo lo siguiente:


• palabra[10:100] #no genera error así no existan tales índices.

MANEJO DE STRINGS
Inmutabilidad
• Un String en Python, es de naturaleza
inmutable, eso quiere decir que no se puede
modificar. Por ejemplo, si tuviéramos la
cadena.

• nombres = “Donald Tromp”

• No será posible corregirlo directamente de


esta forma:

• nombres[9] = “u” #Esto generar un error

• ¿Cuál sería la solución? Pto para participaciones

MANEJO DE STRINGS 22/5/23 13


Ejercicio
• Extraer un rango de letras de la cadena.

• frase = ’Samsung no es mi marca preferida, prefiero


Apple por su calidad de dispositivos’

• Utilizando la variable frase, imprima lo siguiente:

• #Apple es mi marca preferida. (posiciones positivas)


• #Mi marca preferida no es Samsung. (rango de
posiciones negativas)
• #Entre Samsung y Apple prefiero Apple, ya que sus
dispositivos no explotan. (gana punto de participación)

MANEJO DE STRINGS
FUNCIONES
• Longitud

Para determinar la longitud de una cadena,


simplemente usamos la palabra len. Suponiendo que:
cadena = “Hola a todos, hoy aprenderemos Strings”

• Sintáxis:
len(cadena)

¿Qué ocurre con len(cadena[4:])?

MANEJO DE STRINGS 22/5/23 15


FUNCIONES
• Encontrar (index) – Forma insegura

Para validar si una cadena o letra se encuentra dentro de


otra cadena es posible usar index, quien retorna la posición
de la primera letra si existe la coincidencia. Caso contrario
puede generar un error.

cadena = "Hola a todo, hoy aprenderemos Strings"


palabra = "strings"
print(cadena.index(palabra))
#Generar error porque no existe strings con minúscula

¿Puedo buscar un entero dentro de la cadena?

MANEJO DE STRINGS 22/5/23 16


FUNCIONES
• Encontrar (find) – Forma segura

Para validar si una cadena contiene otra, a parte de usar


el if, es posible utilizar la función find, que devolverá la
posición del primer carácter que localiza la palabra.

cadena = "Hola a to2, hoy aprenderemos Strings"


print(cadena.find(”2"))

¿Puedo buscar un entero dentro de la cadena?

MANEJO DE STRINGS 22/5/23 17


FUNCIONES
• Contar número de apariciones

Para contar el número de veces que se repite una


subcadena o letra en una cadena es posible utilizar la
función count, que devolverá el número entero de
coincidencias.

cadena = "Hola a todos, hoy aprenderemos Strings"


palabra = "o"
cadena.count(palabra)

¿Puedo contar un entero dentro de la cadena?

MANEJO DE STRINGS 22/5/23 18


FUNCIONES
• Métodos de separación.
Para separar una cadena en varias subcadenas basado
en un criterio, utilizamos split. Lo que nos devuelve una
lista de strings.

Supongamos que tenemos lo siguiente:

claves= "python, guia, curso, tutorial".split(", ")

print(claves)

['python', 'guia', 'curso', 'tutorial'] #Una lista

MANEJO DE STRINGS 22/5/23 19


FUNCIONES
• Métodos de separación.
Para separar una cadena en varias subcadenas es posible
utilizar la función partition. La cual devolverá una tupla de strings.
Supongamos que tenemos lo siguiente:
url = “http://www.espol.edu.ec”
tupla = url.partition("www.") #se guarda en una tupla
print(tupla)

protocolo, separador, dominio = tupla

Resultado:
('http://', 'www.', ’espol.edu.ec') #valores de la tupla

Imprimir correo basado en la página:

Print(“rasarag@{1}”, dominio)

MANEJO DE STRINGS 22/5/23 20


FUNCIONES DE FORMATO
• Mayúsculas, minúsculas y letra capital

Para dar formato a una cadena o string, es posible utilizar las


varias funciones. Si tuviéramos: cadena = "bienvenido a mi
aplicación”.

• Todo mayúsculas :
cadena = cadena.upper()

• Todo minúsculas:
cadena = cadena.lower()

• Letra capital:
cadena = cadena.capitalize()

¿Es posible hacer lo mismo con las listas strings?

MANEJO DE STRINGS 22/5/23 21


FUNCIONES DE FORMATO
• Cambia May-Min, título

Para dar formato a una cadena o string, es posible utilizar


las varias funciones. Si tuviéramos: cadena = "bienvenido a
mi aplicación”.

• Alrevés de mayúsculas a minúsculas, o viceversa:


cadena = cadena.swapcase()

• Letra como Título:


cadena = cadena.title()

¿Es posible hacer lo mismo con las listas strings?

MANEJO DE STRINGS 22/5/23 22


FUNCIONES DE FORMATO
• Alineación: centrado, izquierdo-derecho, rellenos

Para dar formato a una cadena o string, es posible utilizar las varias
funciones. Si tuviéramos: cadena = "bienvenido a mi aplicación”.

• Centrar:
cadena.center(50, " ")

• Izquierdo/Derecho:
cadena.ljust(50, ”-")
cadena.rjust(50, ”-")
• Rellenos:
numero_factura = "123”
factura = numero_factura.zfill(10) #llena de ceros como prefijo al 123
print(factura)
¿Es posible hacer zfill con los números enteros?

MANEJO DE STRINGS 22/5/23 23


FUNCIONES
• Validar si una cadena empieza o termina con
una subcadena.

Para validar el inicio o fin de una cadena, basado en una


subcadena, se utiliza la función starswith para inicio y
endswith para el final, esto devolverá un valor booleano.

Sintaxis:
Cadena.startswith(subcadena)
Cadena.endswith(subcadena)

MANEJO DE STRINGS 22/5/23 24


FUNCIONES
• Validar si una cadena contiene números, letras,
minúsculas, etc.

Para validar si una cadena es conformada por cualquier tipo de


dato y formato, se utilizan las funciones is y su validación. Esto si se
cumple devolverá un valor Booleano.

Sintáxis:
cadena.isalpha() #todos deben ser letras, no se acepta espacios
cadena.isdigit() #todos deben ser dígitos, no incluye punto.
cadena.isalnum() #pueden haber dígitos o letras
cadena.isspace() #todos deben ser espacios
cadena.islower() #todo debe estar en minúscula
cadena.isupper() #todo debe estar en mayúscula
cadena.istitle() #debe estar como un título

MANEJO DE STRINGS 22/5/23 25


FUNCIONES
• Métodos de sustitución manual %
Existen varias formas para imprimir una variable dentro de una
cadena. Para ello se utiliza el signo %.

Sintáxis:
# Esto imprime "Hola, Juan!"
nombre = "Juan"
print("Hola, %s!”%nombre)

Nota: Este ejemplo sólo es una forma de impresión que no


utiliza ninguna función de Strings.

MANEJO DE STRINGS 22/5/23 26


FUNCIONES
• Métodos de sustitución: format

Existen varias formas para dar formato a una cadena y su


impresión. Uno de ellos es utilizar llaves y su orden de impresión.

Sintáxis:
cadena = "bienvenido a mi aplicación {0} nro {1}"
print(cadena.format("en Python”, 3))

Resultado:
Bienvenido a mi aplicación Python nro 3

MANEJO DE STRINGS 22/5/23 27


FUNCIONES
• Métodos de sustitución: replace(Antig, Nueva)

Existen otra forma para sustituir una subcadena dentro de una


cadena. Esto es utilizan la función replace.

Sintáxis:

cadena = "Prefiero la marca Samsung"


cadena.replace(”Samsung", ”Apple") #si no lo guarda no se conserva el reemplazo

Resultado:
Prefiero la marca Apple

MANEJO DE STRINGS 22/5/23 28


FUNCIONES
• Métodos de sustitución: strip, lstrip, rstrip.
Para sustituir una subcadena normalmente no válida o innecesaria:
por ejemplo caracteres especiales, espacios es posible usar las
funciones: strip para izquierda y derecha, lstrip desde la izquierda-
derecha, rstrip para derecha-izquierda.

Sintáxis:
cadena = "-----Prefiero la marca Samsung"
cadena.strip("-")

Resultado:
Prefiero la marca Samsung

Nota: Sólo se eliminará el conjunto de caracteres secuenciales a partir


de donde inicia. Es decir que de ninguna forma podría eliminar un
guión luego de la palabra Prefiero.

MANEJO DE STRINGS 22/5/23 29


FUNCIONES
• Métodos de unión.

Para unir una subcadena dentro de una cadena, es posible utilizar la


función join. Lo diferente de realizar una concatenación(+), es que se
puede repetir por cada carácter o elemento de una tupla.

Supongamos que tenemos la siguiente lista:

datos= ["Hola","a", "todos","espero","que esten bien"]#lista


elemento= "-”
union = elemento.join(datos)
print(union)

Resultado:
Hola-a-todos-espero-que esten bien

MANEJO DE STRINGS 22/5/23 30


Reversar un String
• Darle la vuelta a un String

Para realizar esta operación, es posible utilizar rangos y una


posición negativa.

Por ejemplo:

cadena = 'Hola a todos, hoy aprenderemos Strings’


alreves = cadena[::-1]

Esto coloca de atrás hacia delante todos los caracteres


que contenga frase.

MANEJO DE STRINGS 22/5/23 31


Iterar un string
• Recorrer la cadena

Para leer cada uno de los caracteres de un string o cadena, es posible


utilizar un bucle, o estructura repetitiva.

for letra in frase:


print(letra)

Esto imprimiría cada carácter que contenga frase.


¿Cómo imprimiría cada carácter de atrás hacia delante? Pto
participación.

No te preocupes si no entiendes muy bien ya que lo revisamos


luego en estructuras de control.

MANEJO DE STRINGS 22/5/23 32


Validar si está en el string
• Encontrar una cadena

Para validar si una cadena contiene a otra basta utilizar la


estructura de selección if.

• Sintáxis:
cadena = 'Hola a todos, hoy aprenderemos Strings’
palabra = "Strings”
if palabra in cadena:
print("Encontrado")

Si encuentra la palabra, imprime Encontrado, caso


contrario no imprime nada.

No te preocupes si no entiendes muy bien ya que lo


revisamos luego en estructuras de control.

MANEJO DE STRINGS 22/5/23 33


RESUMEN
• Las cadenas o strings son tipos de datos inmutables. No se
pueden alterar.
• Las cadenas se pueden concatenar (+) o repetir (*)
• Las cadenas se pueden indexar usando [indice] sean
positivos o negativos.
• Las cadena se pueden extraer usando rangos [inicio:fin]
• Las cadenas sirven para imprimir mensajes (print) o
solicitar valores (input).
• Las cadenas poseen funciones para: indexar, encontrar,
contar, reemplazar, separar, unir, formatear, validar.

MANEJO DE STRINGS 22/5/23 34

También podría gustarte