¿No hay switch en Python?

Esto es algo que nos ha sorprendido a todos los que alguna vez nos hemos enfrentado al Python. ¿Por qué demonios no hay un switch? ¿Y ahora qué hago yo? ¿Tengo que anidar un montón de if-else?

Pues no, en Python no existe la estructura switch. Sin embargo no es necesario empezar a anidar if-else, podemos usar diccionarios.

Un diccionario en Python es parecido a lo que en otros lenguajes se llama array asociativo y se define así:

y la forma de usarlo es:

por ejemplo:

Que mostrará:

Entonces, si quisiéramos algo como esto (ojo, recuerda que este código no funciona en Python):

tendríamos que hacer:

Bastante sencillo ¿no? Pero, podrías pensar, esto está muy bien para seleccionar valores como en este caso pero ¿y si lo que quiero es llamar a una función o ejecutar un bloque de código? Pues tranquilo, porque se puede. Mira el siguiente ejemplo:

Como en este caso no sabemos la opción que va a elegir el usuario (podría teclear un 4 o cualquier otra cosa) tenemos que usar try-except para evitar errores (algo similar al default de los switch-case).

3 thoughts on “¿No hay switch en Python?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.