Resumen

La sentencia match de Python 3.10 simplifica el control de flujo con una sintaxis clara y legible. Si vienes de otros lenguajes, se siente similar a un switch, pero con el estilo Python. Aquí verás cómo sustituir cadenas de if, elif, else por casos bien definidos con case y cómo usar el comodín _ para capturar lo no contemplado.

¿Qué es la sentencia match en Python 3.10?

La idea central: evaluar una expresión y comparar su valor contra varios casos. Si hay coincidencia, se ejecuta el bloque asociado. Es ideal para reemplazar secuencias repetitivas de if/elif.

  • Introducida en Python 3.10: sintaxis moderna y clara.
  • Inspiración de switch: enfoque por coincidencia de valor.
  • Estructura básica: una expresión, varios case, y un caso comodín con _.
  • Control de flujo más limpio: reemplaza if, elif, elif, else.

¿Por qué reemplaza if/elif/else?

  • Menos repetición: un único punto de comparación.
  • Legibilidad: cada case expresa la intención del caso.
  • Mantenimiento: agregar o cambiar un caso es directo.

¿Cómo funciona el comodín _?

  • _ captura cualquier valor que no coincida con los casos previos.
  • Útil para mostrar un mensaje por defecto.

¿Cómo usar match con el día de la semana?

El ejemplo define una variable dia y usa match para imprimir el nombre del día según un número. Si el valor no coincide con los casos definidos, se muestra un mensaje por defecto con _.

# Python 3.10+
dia = 1

match dia:
    case 1:
        print("hoy es lunes")
    case 2:
        print("hoy es martes")
    case 3:
        print("hoy es miércoles")
    case _:
        print("No coincide con ninguna de las anteriores opciones")
  • Si dia = 1: imprime "hoy es lunes".
  • Si dia = 2: imprime "hoy es martes".
  • Si dia = 3: imprime "hoy es miércoles".
  • Si dia no es 1, 2 o 3: entra en case _ y muestra el mensaje por defecto.

¿Cómo cambiar el valor y ver el resultado?

  • Modifica dia a 2 para ver "hoy es martes".
  • Modifica dia a 3 para ver "hoy es miércoles".
  • Usa un valor no declarado (por ejemplo 9) para activar case _.

¿Qué habilidades y conceptos pones en práctica?

  • Control de flujo con match y case.
  • Mapeo de valores numéricos a mensajes.
  • Uso del comodín _ para casos no contemplados.
  • Pruebas cambiando entradas para verificar salidas.

¿Qué ejercicio practicar con strings y case?

Se propone cambiar la comparación de números por texto. En vez de 1, 2, 3, usa un string y compara de la misma forma. Así ejercitas la coincidencia por valor y el manejo del caso por defecto.

# Ejercicio sugerido
# Cambia dia_num por un string, por ejemplo: "lunes", "martes", "miércoles"
dia_txt = "lunes"

match dia_txt:
    case "lunes":
        print("hoy es lunes")
    case "martes":
        print("hoy es martes")
    case "miércoles":
        print("hoy es miércoles")
    case _:
        print("No coincide con ninguna de las anteriores opciones")

¿Cómo compartir tu solución y aprender más?

  • Crea tu versión más creativa con strings.
  • Prueba varios valores y el caso _.
  • Comenta tu solución y resultados para que todos aprendamos juntos.