fbpx
Volver a Curso

Curso profesional de Python

0% Completado
0/0 Steps
  1. Antes de iniciar el curso.

    Grupos y Foros
  2. Curso profesional de Python
    Preparación del ambiente de trabajo.
  3. Estructura y elementos del lenguaje
    7 Temas
    |
    1 Cuestionario
  4. Principales métodos del objeto string
    7 Temas
    |
    1 Cuestionario
  5. Tipos de datos complejos
    4 Temas
    |
    1 Cuestionario
  6. Funciones definidas por el usuario
    4 Temas
    |
    1 Cuestionario
  7. Módulos, paquetes y namespaces
    3 Temas
    |
    1 Cuestionario
  8. POO/OOP (Programación Orientada a Objetos)
    8 Temas
    |
    1 Cuestionario
  9. Conversión de tipos
    5 Temas
    |
    1 Cuestionario
  10. Ficheros
    4 Temas
    |
    1 Cuestionario
  11. Bases de datos con SQLITE3
    3 Temas
    |
    1 Cuestionario
  12. Encuesta sobre el curso
  13. Proyecto final
    2 Temas
Lección Progreso
0% Completado

Upper

str.upper()

Devuelve una cadena con todos los caracteres en mayúsculas -en caso de que puedan ser convertidos-. Por ejemplo:

>>> 'es un buen día!'.upper()
'ES UN BUEN DÍA!'
  • Si utilizamos el método upper, vemos que se convierten todas las letras a mayúsculas, incluyendo las acentuadas.

Lower

str.lower()

Devuelve una cadena con todos los caracteres convertidos a minúscula -en caso de que puedan ser convertidos-. Por ejemplo:

>>> 'NO SE ACEPTAN GRITOS!'.lower()
'no se aceptan gritos!'
.
  • Utilizamos el método lower y vemos que todas las letras son convertidas a minúsculas.

Casefold

str.casefold()

Es similar a lower, pero aún más agresivo. Por ejemplo, para el caracter ‘ß’ del alemán, mientras que lower no aplica ningún cambio, casefold lo convierte en su representación minúscula ‘ss’. Por ejemplo:

>>> 'der Fluß'.lower()
'der fluß'
>>> 'der Fluß'.casefold()
'der fluss'
  • Utilizamos lower para la frase “el río” en alemán y vemos que el caracter ‘ß’ no es modificado.
  • Si utilizamos casefold para la misma frase, vemos que ‘ß’ es convertido en ‘ss’

Swapcase

str.swapcase()

Devuelve una cadena intercambiando los caracteres entre mayúsculas y minúsculas. Por ejemplo:

>>> 'AZUL school'.swapcase()
'azul SCHOOL'
  • Utilizamos el método swapcase para la cadena ‘AZUL school’ y vemos que se invierten los caracteres.

Vale aclarar que str == str.swapcase().swapcase() no siempre será True. Veamos un ejemplo:

>>> 'AZUL school' == 'AZUL school'.swapcase().swapcase()
True
>>> 'der fluß' == 'der fluß'.swapcase().swapcase()
False
>>> 'der fluß'.swapcase()
'DER FLUSS'
>>> 'der fluß'.swapcase().swapcase()
'der fluss'
  • Si aplicamos swapcase 2 veces para ‘AZUL school’ y lo comparamos contra la misma cadena, vemos que devuelve True.
  • Si hacemos lo mismo para la cadena ‘der fluß’, vemos que el resultado es False.
  • Esto ocurre porque al aplicar swapcase a ‘der fluß’, se obtiene la cadena ‘DER FLUSS’.
  • Al volver a aplicar swapcase a dicha cadena, se obtiene ‘der fluss’, que no es igual a ‘der fluß’.

Title

str.title()

Devuelve una cadena donde cada una de las palabras comenzará con mayúscula y el resto de caracteres en minúscula. Por ejemplo:

>>> 'Hola mundo!'.title()
'Hola Mundo!'
  • Utilizamos el método title y vemos que todas palabras comienzan en mayúscula.

Vale aclarar que el algoritmo utilizado por title es simple, donde no se distinguen letras consecutivas aplicadas a algunos idiomas y los apóstrofes delimitan palabras, por lo que su resultado puede no ser el esperado. Por ejemplo:

>>> "they're friends from USA.".title()
"They'Re Friends From Usa."
  • Utilizamos title en una frase en inglés con apóstrofe y siglas y vemos que el resultado no es el esperado.

Capitalize

str.capitalize()

Devuelve una cadena con su primer carácter en mayúscula y el resto en minúscula; esto surge de aplicar title al primer carácter. Por ejemplo:

>>> 'en azul school aprendemos python!'.capitalize()
'En azul school aprendemos python!'
  • Al utilizar el método capitalize, vemos que el primer caracter se convierte en mayúscula.

Métodos de Búsqueda

Find

str.find(sub[, start[, end]])

Busca y devuelve la posición la primera ocurrencia del parámetro sub dentro de la cadena. Adicionalmente se pueden especificar los parámetros start y end para acotar la búsqueda entre dichas posiciones. Si la búsqueda no es exitosa, devuelve -1. Por ejemplo:

>>> 'Avada Kedavra'.find('v')
1
>>> 'Avada Kedavra'.find('v', 3)
10
>>> 'Avada Kedavra'.find('v', 3, 5)
-1
  • Si buscamos el caracter ‘v’ en la frase ‘Avada Kedavra’ nos devuelve que se encuentra en la posición 1.
  • Si indicamos que la búsqueda comience en la posición 3, devuelve que se encuentra en la posición 10.
  • Si indicamos que se busque solo entre las posiciones 3 y 5, devuelve -1.

Index

str.index(sub[, start[, end]])

Su funcionamiento es igual a find, pero eleva ValueError en caso que la búsqueda no sea exitosa. Por ejemplo:

>>> 'Avada Kedavra'.index('v', 3, 5)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found
  • Si realizamos la última búsqueda pero utilizando el método index, vemos que se eleva una excepción ValueError.

Rfind

str.rfind(sub[, start[, end]])

Funciona de manera similar a find, a diferencia de que devuelve la posición más alta de la búsqueda. Por ejemplo:

>>> 'Avada Kedavra'.rfind('v')
10
>>> 'Avada Kedavra'.rfind('v', 3, 5)
-1
  • Si buscamos el caracter ‘v’ en la misma frase con el método rfind, vemos que devuelve la posición 10.
  • Al igual que find, si la búsqueda no es exitosa, devuelve -1.

Rindex

str.rindex(sub[, start[, end]])

Su funcionamiento es igual a rfind, pero eleva ValueError en caso que la búsqueda no sea exitosa. Por ejemplo:

>>> 'Avada Kedavra'.rindex('v', 3, 5)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found
  • Si realizamos la última búsqueda pero utilizando el método rindex, vemos que se eleva una excepción ValueError.