En Python, la palabra clave suave case es el componente principal de la estructura match ... case, diseñada para implementar coincidencias de patrones de forma expresiva y moderna.
Esta estructura de control de flujo te permite comparar una expresión con múltiples patrones de datos de manera explícita, facilitando la escritura de programas más legibles y menos propensos a errores en comparación con otros métodos de control de flujo.
Puedes encontrar el código Python de este artículo en el repositorio de ejemplos de Python Scouts. ¡Te agradeceríamos mucho si nos dejas una estrella (⭐) en el repositorio!
Sintaxis
Para utilizar case, necesitas una sentencia match que proporcione el valor a evaluar. Cada bloque case define un patrón con el que se comparará dicho valor.
La sintaxis básica es la siguiente:
match expression:
case pattern1:
# Código si expression coincide con pattern1
case pattern2:
# Código si expression coincide con pattern2
...
case _:
# Patrón comodín para manejar cualquier otro caso
En este flujo de ejecución, el intérprete evalúa cada case de arriba abajo. Cuando encuentra la primera coincidencia, ejecuta su bloque de código y sale de la estructura.
El uso de un guion bajo (_) al final actúa como un comodín (catch-all) para capturar cualquier valor que no haya coincidido con los patrones anteriores.
Las palabras clave suaves (soft keywords) como case se diferencian de las palabras clave normales en que pueden ser usadas como identificadores, lo que incluye nombres de variables, funciones o clases.
Ejemplos prácticos
Observa el siguiente ejemplo de una función que clasifica edades:
>>> def classify_age(age):
... match age:
... case n if n < 13:
... return "Eres un niño"
... case n if n < 20:
... return "Eres un adolescente"
... case _:
... return "Eres un adulto"
...
>>> classify_age(10)
'Eres un niño'
>>> classify_age(15)
'Eres un adolescente'
>>> classify_age(30)
'Eres un adulto'
Como puedes ver, match ... case te ofrece una vía directa para tomar decisiones basadas en valores específicos de tus objetos de forma más declarativa que las sentencias condicionales tradicionales.
Uso de case
Los casos de uso más comunes de la palabra clave case incluyen los siguientes:
- Ramificar la lógica de tus aplicaciones según el contenido específico o la estructura de tus datos
- Simplificar la lectura y mantenimiento de programas que dependen de múltiples condiciones de decisión
- Evaluar y desestructurar de forma segura estructuras de datos complejas mediante la coincidencia de patrones
- Sustituir cadenas extensas de sentencias
if-elif-elsecuando comparas una sola variable contra múltiples opciones posibles - Manejar respuestas de APIs o eventos de manera más clara y declarativa
Resumiendo
La palabra clave case constituye una adición esencial a Python para realizar coincidencias de patrones eficaces.
Conocer y emplear esta herramienta te permitirá desarrollar aplicaciones más claras, fáciles de mantener y con un control de flujo mucho más potente.
Puedes encontrar el código Python de este artículo en el repositorio de ejemplos de Python Scouts. ¡Te agradeceríamos mucho si nos dejas una estrella (⭐) en el repositorio!