5. match / case: ramificar como con switch 🔀
En muchos lenguajes existe switch: mirás una expresión y ejecutás el bloque que
coincida. En Python no hay la palabra switch; desde Python 3.10
el mecanismo equivalente (y más potente) es match seguido de varios case.
¿Para qué sirve? Para elegir un camino entre muchas alternativas sobre el
mismo valor, con código que se lee como una tabla: primero encaja un case, se ejecuta su bloque y
no se siguen probando los demás (salvo que uses bloques vacíos con
fall-through, que en Python no es el estilo habitual).
Necesitás Python 3.10 o superior. Con una versión anterior, usá if / elif / else como en la lección 4.
Sintaxis mínima
match valor:— qué vas a comparar.case patrón:— si encaja, entra al bloque indentado.case _:— “resto” (comodefaultenswitch).
Cinco ejemplos guiados
Los comentarios marcan cada caso; podés copiar el archivo y ejecutarlo por partes.
Trucos que conviene recordar
-
case 4 | 5:— unifica varios valores en un solo bloque (OR entre patrones). -
case _:— siempre al final como “else”; atrapa lo que no encajó antes. -
case x if x < 0:— guarda: primero se liga (o compara) y además debe cumplirse laif. -
El
matchde Python también permite patrones con tuplas, listas y clases; eso se profundiza cuando domines listas y objetos en las próximas lecciones.
🐍 Práctica rápida
Escribí un match sobre una variable mes ("ene", "feb", …) que
imprima si es “estación cálida”, “fría” o “intermedia” (agrupá meses como prefieras) y un case _:
para mes inválido.