Instrucciones Switch Case

PythonBeginner
Practicar Ahora

Introducción

En este laboratorio, aprenderemos a usar la nueva instrucción Switch Case de Python, también conocida como Emparejamiento de Patrones Estructurales, introducida en Python 3.10. La instrucción Switch Case nos permite emparejar patrones de manera más fácil y legible en comparación con las instrucciones if-elif-else tradicionales.

Logros

  • Instrucciones Switch Case
  • Instrucciones if
Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 100%. Ha recibido una tasa de reseñas positivas del 100% por parte de los estudiantes.

Comparación con las instrucciones if de Python

Antes de adentrarnos en los ejemplos de la instrucción Switch Case de Python, comparemosla con las instrucciones if-elif-else tradicionales.

Considere el siguiente ejemplo de coincidencia de códigos de respuesta HTTP:

response_code = 200

if response_code == 200:
    print("OK")
elif response_code == 404:
    print("404 Not Found")
elif response_code == 500:
    print("Internal Server Error")

Podemos reescribir el mismo ejemplo usando la instrucción Switch Case de Python de la siguiente manera:

response_code = 201

match response_code:
    case 200:
        print("OK")
    case 404:
        print("404 Not Found")
    case 500:
        print("Internal Server Error")

Como puede ver, la instrucción Switch Case de Python es más concisa y más fácil de leer en comparación con las instrucciones if-elif-else.

Aquí está la sintaxis para una instrucción switch case:

match term:
    case pattern-1:
        action-1
    case pattern-2:
        action-2
    case pattern-3:
        action-3
    case _:
        action-default

El term es el valor contra el cual desea coincidir con los patrones. El patrón puede ser un solo valor, una tupla, una lista, una clase integrada o una combinación de estos usando el operador or (|). El _ es un patrón general que coincide con cualquier valor.

Emparejamiento con el patrón or

En este ejemplo, el carácter barra vertical (| o or) permite que Python devuelva la misma respuesta para dos o más casos.

response_code = 502
match response_code:
    case 200 | 201:
        print("OK")
    case 500 | 502:
        print("Internal Server Error")

Esto imprimirá "Internal Server Error" porque el response_code es 500 o 502.

Podemos usar el símbolo subrayado _ para definir un caso predeterminado. Considere el siguiente ejemplo:

response_code = 800

match response_code:
    case 200 or 201:
        print("OK")
    case 500 or 502:
        print("Internal Server Error")
    case _:
        print("Invalid Code")

En este ejemplo, la salida será "Invalid Code" porque el valor de response_code no está cubierto por ninguno de los casos.

Emparejamiento de clases integradas

También podemos emparejar patrones basados en clases integradas. Considere el siguiente ejemplo:

response_code = ["300"]

match response_code:
    case int():
        print('response_code es un número')
    case str():
        print('response_code es una cadena de texto')
    case list():
        print('response_code es una lista')
    case _:
        print('response_code es un tipo desconocido')

Esto imprimirá "response_code es una lista" porque el response_code es una lista.

Resumen

En este laboratorio, aprendimos a usar la instrucción Switch Case de Python introducida en Python 3.10. La comparamos con las instrucciones if-elif-else tradicionales y practicamos varios ejemplos de coincidencia de valores individuales, el patrón or, la longitud de un iterable, el símbolo subrayado para el caso predeterminado y clases integradas.

¡Espero que hayas disfrutado de este laboratorio y hayas aprendido algo nuevo!