match case

flor

A partir de Python 3.10 tenemos disponible la estructura match case con la que se pueden construir bloques donde a partir de un dato de una variable (o constante) podemos elegir el bloque a ejecutar según el valor de ese dato. Esto equivale a varias instrucciones if else, pero ofrece una mejor lectura del código.

Las opciones case pueden ser tantas como se deseen, cada una de ellas se encarga de evaluar un valor. Si el valor se cumple, se ejecuta su parte de código.

Existen algunos datos importantes más. El indicador » | » nos vale para separar varios valores para un mismo case.

Por otro lado, el indicador «case_» se puede poner al final de todos los demás case e incluirá el bloque que se ejecutará si no se cumple ninguno de los valores anteriores a él. Es el bloque por defecto si fallan los otros.

mes="Mayo"
match mes:
    case "Enero"|"Marzo" | "Mayo" |"Julio" |"Agosto"|"Octubre" |"Diciembre":
        print("El mes tiene 31 días.")
        print("Gracias.")
        
    case "Febrero":
        print("El mes tiene 28 días.")
        print("Puede tener 29 si el año es bisiesto.")
        
    case _:
        print("El mes tiene 30 días.")
Resultado:

El mes tiene 30 días.
Iniciocomandos Pythonbloques de código
comentar códigoprint ( )input ( )
captura de erroresCadenasDatos Numéricos
Módulo randomMódulo statisticsDatos Fecha/hora
ConstantesBucles forBucles while
Bloque ifTuplasListas.
match caseConjuntosDiccionarios
FuncionesClasesArchivos
Entorno gráfico TkinterVentanasWidgets básicos