¿Qué es un switch en los lenguajes de programación?
Principalmente switch es un estructura de alternativa múltiple ya que esta cumple varias operaciones, en otras palabras se podría decir que evalúa una serie de casos que solo uno se cumplirá, al decir esto me refiero a que, el programa no se detendrá hasta que un caso de los que estén el en programa se cumpla.
Para que el programa pare en esa opción es necesario poner un break para que en el caso que se cumpla pare, de otra manera el programa no parara hasta que no cumpla una de estas funciones para ello es necesario poner en cada uno de los casos un break después de las acciones que destino en estos.
Es importante resaltar que el break solo detiene el caso en el que se cumplió la acción que el usuario selecciono, por otra parte si usted como programador desea poner algún a otra operación o alguna otra estructura este seguirá su camino normalmente claro pero habiendo ya cumplido el caso que con anterioridad ya había puesto.
Los casos que usted ponga en el switch serán de acuerdo a los que usted tenga en la mente ya que la opción de switch es para darle a su programa un menú con las opciones que quiera darle a elegir al usuario para que este sin ningún problema pueda meterlo y que el programa lo corra sin ninguna dificultad.
Por ultimo lleva un default que es para marcar el final de la sentencia y para indicar que la sentencia es incorrecta por lo cual después de poner el default debes poner un indicador para imprimir que la sentencia que eligieron es errónea y que vuelva a intentar.
Esta imagen muestra un diagrama de un flujo de una condicional switch.
Usos de switch
- La estructura switch es especialmente útil cuando la selección se basa en el valor de una variable o de una expresión simple de nominada expresión de control o selector.
- Los valores de cada caso de switch han de ser constantes.
- El valor de esta expresión puede ser entero o carácter (int or char), pero no puede ser tipo flotante (float) ni doublé.
- La etiqueta de lo contrario (default) marca el bloque de código que se ejecuta por efecto cuando al evaluar la expresión se obtiene un valor no especificado ´por los casos anteriores de switch.
- La sentencia de switch compra solamente igualdad.
Python no utiliza switch
En Python no es utilizado el switch pero lo que tiene es que puedes ponerle for anidados esto no es igual pero si algo similar para que puedas hacer un tipo de menú donde puedas introducir unos if e if else para que esto tengo un efecto similar.
También existe los diccionarios, como veremos en el ejemplo.
1 2 3 4 5 6 7 |
edades = { 'Paco': 20, 'Luis': 25, 'Lucas': 30 } nombre = 'Luis' edad = edades[nombre] print edad |
Referencias
http://https://nideaderedes.urlansoft.com/2013/03/04/no-hay-switch-en-python/
Yo hubiese agregado que es posible “emular” el funcionamiento del switch en python almacenando funciones lambda en un diccionario.