0% encontró este documento útil (0 votos)
3 vistas

4_Textos_Python

El documento proporciona una introducción al manejo de cadenas de texto en Python, explicando conceptos como el tipo de dato 'str', la inmutabilidad de las cadenas y funciones útiles como len(), upper(), y replace(). Además, se abordan errores comunes al trabajar con textos y se incluyen ejercicios prácticos para aplicar los conocimientos adquiridos. Se destaca la importancia de las cadenas en el contexto de big data y en aplicaciones informáticas.

Cargado por

calvod820
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)
3 vistas

4_Textos_Python

El documento proporciona una introducción al manejo de cadenas de texto en Python, explicando conceptos como el tipo de dato 'str', la inmutabilidad de las cadenas y funciones útiles como len(), upper(), y replace(). Además, se abordan errores comunes al trabajar con textos y se incluyen ejercicios prácticos para aplicar los conocimientos adquiridos. Se destaca la importancia de las cadenas en el contexto de big data y en aplicaciones informáticas.

Cargado por

calvod820
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/ 6

Link: https://www.bigbaydata.

com/strings-en-python/

Objetivos
Qué es un texto
Tipo de dato Str
Inmutabilidad
Funciones relevantes
Errores comunes con Textos

Qué es un Texto: Str


En inglés, los textos son string o cadenas. Tiene su sentido: el texto
Python es la suma de P + y + t + h + o + n

In [1]: texto = 'Python' #Recordemos que podemos crearlos con una comilla o 2; pero amba
# texto = "Python" también valdría...
print(texto)
print(type(texto))

Python
<class 'str'>

Tipo de dato STR


Quiero que veas a la variable de antes y pienses en un vagón tren con vagones. Usa el
dibujo de arriba:
El texto comienza con P . El primer elemento.
Después sigue con y
Así hasta terminar con n .

Esto es clave. Podemos consultar las posiciones de los elementos de un texto. Para ello,
hacemos llamada a la variable[posicion] :

In [4]: texto = 'Python'


print(texto[0]) #Todos los elementos empiezan en 0 en programación... Por eso el
print(texto[1])
print(texto[2])
# Podemos acceder al vagón que nos interese en particular.

P
y
t

In [6]: texto = 'Python'


# ¿Qué crees que pasará si llegamos al final de los vagones?
# print(texto[6])
#Python nos dice que no hay nada... Si empezaba por 0 el primer elemento y hay 6
print(texto[5])

In [ ]: texto = 'Python'
# Podemos acceder a los vagones de detrás hacia delante...
print(texto[-1]) #Último elemento del vagón... Es decir, la n.

# El penúltimo elemento sería -2...


print(texto[-2]) #¿Qué elemento está accediendo?

In [ ]: #podemos invertir una palabra...


texto = 'Palabra'

print(texto[::-1]) #El truco [::-1] es exclusivo de python, invierte la palabra

La inmutabilidad
Redcomendación de uso de print()
Ejercicio rápido

In [ ]: # Intentamos modificar la cadena


s = "Hola"
s[0] = 'h' #Intentamos acceder al primer vagon y cambiar de valor... Fallará.

In [ ]: #Idea rápida para dar solución: Imprimimos vagón a vagón


print('h', s[1], s[2], s[3])

# podemos hacer esto:


s = 'h' + s[1] + s[2] + s[3]
#Otra opción:
s = 'h' + s[1:] #Desde el primer elemento en adelante... (explicado después)

Funciones más interesantes


Tienes las funciones básicas con ejemplos en el artículo. Aquí te dejo con
algunas utilidades extra, interesantes:

len()
x.upper()
x.lower()
x.capitalize()
x.title()
x.replace()
x.strip()
x.find()
x.split()
x.isdigit()

In [2]: s = "Hola, mundo"


print(len(s)) # Salida: 11
# len(s) devuelve el número de caracteres en la cadena 's'

11

In [ ]: s = "Hola, mundo"
print(s.upper()) # Salida: HOLA, MUNDO
# upper() devuelve una nueva cadena con todos los caracteres en mayúsculas

In [ ]: s = "Hola, Mundo"
print(s.lower()) # Salida: hola, mundo
# lower() devuelve una nueva cadena con todos los caracteres en minúsculas

In [ ]: s = "hola, mundo"
print(s.capitalize()) # Salida: Hola, mundo
# capitalize() devuelve una nueva cadena con el primer carácter en mayúscula

In [ ]: s = "hola, mundo"
print(s.title()) # Salida: Hola, Mundo
# title() devuelve una nueva cadena con el primer carácter de cada palabra en ma

In [ ]: s = " Hola, mundo "


print(s.strip()) # Salida: Hola, mundo
# strip() elimina los espacios en blanco de ambos extremos de la cadena

In [ ]: s = "Hola, mundo"
print(s.replace("mundo", "Python")) # Salida: Hola, Python
# replace() reemplaza todas las apariciones de 'mundo' con 'Python'

In [ ]: s = "Hola, mundo"
print(s.find("mundo")) # Salida: 6
# find() devuelve el índice donde comienza el substring 'mundo'
print(s.find("Python")) # Salida: -1
# Si el substring no se encuentra, devuelve -1

In [ ]: s = "Hola, mundo"
print(s.split()) # Salida: ['Hola,', 'mundo']
# split() divide la cadena en una lista de palabras utilizando el espacio como d
s2 = "uno,dos,tres"
print(s2.split(',')) # Salida: ['uno', 'dos', 'tres']
# split(',') divide la cadena usando la coma como delimitador

In [ ]: s = "12345"
print(s.isdigit()) # Salida: True
# isdigit() devuelve True si todos los caracteres son dígitos

s2 = "123a5"
print(s2.isdigit()) # Salida: False
# isdigit() devuelve False si algún carácter no es un dígito

In [ ]: # EXTRA: La concatenación de textos


texto1 = "hola, "
texto2 = "tu nombre"
total = texto1 + texto2 # El simbolo + con textos funcionan como "juntar"; como

En big data y en grandes programas informáticos (Software General), los textos son
datos relacionados a sensores, operaciones de bancos, posiciones de jugadores,
ficheros... y son súper útiles para transformarlos.

Dependiendo de cada caso, necesitaremos utilizar estas funciones de manera conjunta.

Errores más comunes


In [ ]: # 1. Indices fuera de Rango
s = "Hola"
print(s[4])
# Vagones comienzan en 0 siempre. Terminan en N - 1.

In [ ]: # 2. El operador +
s = "Hola"
a = 1
print( a + s) #tipos de datos texto y numerico no "suman". El texto usa el + par

In [ ]: # 3. Mutabilidad
variable = "Que tal"
variable[1] = 'U' # no podemos cambiar los vagones del tren.

Ejercicios Resueltos
In [ ]: #Ej1.

email = 'misupergmail@gmail-com,otrocorreo@gmail-com,unacuentamas@gmail-com'

# Separar los correos electrónicos utilizando la coma como delimitador


emails_separados = email.split(',')

# Lista para almacenar los correos electrónicos corregidos


emails_corregidos = []

# Reemplazar las ocurrencias de '-com' por '.com' en cada correo electrónico


for correo in emails_separados:
correo_corregido = correo.replace('-com', '.com')
emails_corregidos.append(correo_corregido)

# Imprimir los correos electrónicos corregidos


for correo in emails_corregidos:
print(correo)

In [1]: #Ej2.

# Lista de notas
notas = '1, 4.3, 7.1, 4.6, 5.1, 6.6, 7.2, 8.8, 10, 9.8, 7.6'

# Convertir la cadena de notas en una lista de números


notas_lista = []

for nota in notas.split(','):


nota_limpiada = nota.strip() # Eliminar espacios en blanco alrededor de la
nota_float = float(nota_limpiada) # Convertir la nota a tipo flotante
notas_lista.append(nota_float) # Agregar la nota a la lista

# Imprimir la lista de notas transformada


print(notas_lista)

[1.0, 4.3, 7.1, 4.6, 5.1, 6.6, 7.2, 8.8, 10.0, 9.8, 7.6]

In [2]: #Ej3.
#Opción 1
datos = 'aaaaaa1.2b2cde110230'
datos = datos.replace('a','')
print(datos)
datos = datos.replace('b','')
print(datos)
datos = datos.replace('c','')
print(datos)
datos = datos.replace('d','')
print(datos)
datos = datos.replace('e','')
print(datos)
print('Fin Opción 1')
# Opción 2
datos = datos.replace('a','').replace('b','').replace('c','').replace('d','').re

print(datos)

1.2b2cde110230
1.22cde110230
1.22de110230
1.22e110230
1.22110230
Fin Opción 1
1.22110230

In [ ]: #Ej4.
# Solicitar al usuario introducir una fecha
fecha = input("Introduce una fecha en formato dd/mm/aaaa: ") #Ej: 10/05/1990

# Separar el año de la fecha introducida


fecha = fecha.split('/') #Recuerda que split localiza el símbolo y trocea...
#Siguiendo el Ej: split de '/' a la fecha 10/05/1990 devuelve una lista [10, 05,
dia = fecha[0] #primer bloque: 10
mes = fecha[1] #segundo bloque: 05
anyo = fecha[2] #tercer bloque: 1995

# Determinar si el año es bisiesto o no


if (anyo % 4 == 0 and anyo % 100 != 0) or (anyo % 400 == 0): #código optimizado.
print("El año",anyo," es bisiesto.")
else:
print("El año",anyo," no es bisiesto.")

In [ ]: #Ej5.

# Solicitar al usuario que ingrese un apellido


apellido = input("Ingresa un apellido: ")

# Convertir el apellido a minúsculas para ignorar diferencias entre mayúsculas y


apellido = apellido.lower()

# Verificar si el apellido es palíndromo


if apellido == apellido[::-1]:
print("El apellido",apellido,"es palíndromo.")
else:
print("El apellido",apellido,"no es palíndromo.")

También podría gustarte