Aplicaciones web con Python

Manipulación de texto

2005 - Instituto Tecnológico de Mexicali

https://tinyurl.com/pyitm2025

Aplicaciones web con Python

Texto en Python

  • Sólo hay un tipo de datos para texto: str.
    • Inmutable
    • Indexable (slice)
  • El texto se delimita por comillas simples (') o comillas dobles (").
  • Múltiples líneas:
    • \n
    • Delimitado por tres comillas simples/dobles: ''' / """
  • No hay tipo de datos para caracteres (char) debido a que por default, el codificado de texto en Python 3 es UTF-8 y ya no se puede asumir que un caracter tenga 8 bytes.
Instituto Tecnológico de Mexicali
Aplicaciones web con Python

Ejemplo 1

>>> '' == str() == ""
True
>>> 'hola mundo'
'hola mundo'
>>> " ' "
" ' "
>>> ' " '
' " '
>>> '"' == "\""
True
>>> "'" == '\''
True
Instituto Tecnológico de Mexicali
Aplicaciones web con Python

El texto tiene una longitud

cadena = "longitud"
longitud = len(cadena)  # Resultado: 8
Instituto Tecnológico de Mexicali
Aplicaciones web con Python

El texto es indexable

>>> a = 'Pera'
P e r a
0 1 2 3
-4 -3 -2 -1
De izquierda a derecha
>>> a[0]
'P'

O de derecha a izquierda

>>> a[-1]
'a'
Instituto Tecnológico de Mexicali
Aplicaciones web con Python

El texto es inmutable

>>> a = 'foo bar'
>>> a[2] = 'z'
Traceback (most recent call last):
  File "<python-input-35>", line 1, in <module>
    a[2] = 'z'
    ~^^^
TypeError: 'str' object does not support item assignment
>>>
Instituto Tecnológico de Mexicali
Aplicaciones web con Python

¿Cómo modificar cadenas?

  • Usar .replace()
    >>> 'Mansana'.replace('s', 'z')
    'Manzana'
    
  • Convertir a lista y luego a cadena
    >>> z = list('Mansana')
    >>> z[3] = 'z'
    >>> ''.join(z)
    'Manzana'
    
  • Slicing
    >>> fruta = 'Mansana'
    >>> fruta[:3] + 'z' + fruta[4:]
    'Manzana'
    
Instituto Tecnológico de Mexicali
Aplicaciones web con Python

Texto con líneas múltiples

>>> a = """
... Cadena con multiples lineas.
... Puede contener " y ' sin problemas.
... """
>>> print(a)
Cadena con multiples lineas.
Puede contener " y ' sin problemas.
Instituto Tecnológico de Mexicali
Aplicaciones web con Python

Texto con acentos y caracteres especiales

>>> 'áéíóúñ⌚⏰✅'
'áéíóúñ⌚⏰✅'
Instituto Tecnológico de Mexicali
Aplicaciones web con Python

Concatenación

Usando +

cadena1 = "Hola"
cadena2 = "Mundo"
resultado = cadena1 + " " + cadena2
print(resultado)  # Resultado: "Hola Mundo"
Instituto Tecnológico de Mexicali
Aplicaciones web con Python

Formateo (f-strings)

Inserta variables directamente en la cadena.

nombre = "Ana"
edad = 30
mensaje = f"Hola, me llamo {nombre} y tengo {edad} años."
print(mensaje)  # Resultado: "Hola, me llamo Ana y tengo 30 años."
Instituto Tecnológico de Mexicali
Aplicaciones web con Python

Repetición

Repetir una cadena usando *

cadena = "Python"
resultado = cadena * 3
print(resultado)  # Resultado: "PythonPythonPython"
Instituto Tecnológico de Mexicali
Aplicaciones web con Python

Convertir a mayúsculas y minúsculas

  • .upper(): A mayúsculas.

    cadena = "hola"
    mayusculas = cadena.upper()
    print(mayusculas)  # Resultado: "HOLA"
    
  • .lower(): A minúsculas.

    cadena = "ADIOS"
    minusculas = cadena.lower()
    print(minusculas)  # Resultado: "adios"
    
  • .title(): La primera letra a mayúsculas.

    cadena = "ADIOS"
    title = cadena.title()
    print(title)  # Resultado: "Adios"
    
  • .swapcase(): Invertir mayúsculas/minúsculas.

    cadena = "ManzanA"
    print("ManzanA".swapcase())  # Resultado: "mANZANa"
    
Instituto Tecnológico de Mexicali
Aplicaciones web con Python

Otras operaciones

  • .strip(): Quita espacios al inicio y final.

    cadena = "   espacios   "
    sin_espacios = cadena.strip()
    print(sin_espacios)
    
  • .replace(viejo, nuevo): Reemplaza una subcadena.

    cadena = "manzana verde"
    nueva_cadena = cadena.replace("verde", "roja")
    print(nueva_cadena)
    
Instituto Tecnológico de Mexicali
Aplicaciones web con Python

Otras operaciones

  • .split(separador): Divide la cadena en una lista.

    cadena = "uno,dos,tres"
    lista = cadena.split(",")
    print(lista) # Resultado: ['uno', 'dos', 'tres']
    
  • .join(iterable): Une una secuencia con un separador.

    lista = ['a', 'b', 'c']
    cadena = "-".join(lista)  # Resultado: "a-b-c"
    
Instituto Tecnológico de Mexicali
Aplicaciones web con Python

Secuencias de escape

  • \n: Nueva línea.
  • \t: Tabulación.
  • \\: Barra invertida.
  • \': Comilla simple.
  • \": Comilla doble.
Instituto Tecnológico de Mexicali
Aplicaciones web con Python

Resúmen

  • Las cadenas de texto (strings) en Python representan secuencias inmutables de caracteres Unicode.
  • Se utilizan para almacenar y manipular texto, desde simples palabras hasta extensos párrafos.
  • Permiten operaciones como concatenación, formateo, búsqueda de subcadenas y conversión a mayúsculas/minúsculas.
  • Son esenciales para la entrada/salida de datos, procesamiento de texto y manipulación de información textual.
Instituto Tecnológico de Mexicali
Aplicaciones web con Python

Siguiente: Estructuras de datos: Secuencias

Instituto Tecnológico de Mexicali