instrucción switch en Python
-
Implementar la declaración
switch
utilizando el diccionario -
Implementar la declaración
switch
mediante las declaracionesif...elif...else
oif ... else
Este tutorial demostrará varios métodos para implementar la funcionalidad de la declaración switch
en Python. En muchos lenguajes de programación, la instrucción switch
se utiliza para controlar el flujo del programa o, en otras palabras, qué bloques de código ejecutar en función del valor de la variable o expresión.
A diferencia de los lenguajes de programación como C, C++, C# y JAVA, el lenguaje Python no proporciona la declaración de cambio. Pero podemos usar los siguientes métodos en lugar de la instrucción switch en Python.
Implementar la declaración switch
utilizando el diccionario
El tipo de datos del diccionario en Python se utiliza para almacenar la colección de datos como pares clave: valor
. Es un tipo de datos modificable o mutable y no permite valores duplicados.
Al igual que en la declaración de cambio, decidimos qué código ejecutar en función del valor de la variable. Podemos utilizar los pares clave: valor
del diccionario, donde la clave
será el valor de la variable y el valor
será el nombre de la función. Podemos ejecutar la función correspondiente basándonos en el valor de la clave
.
Supongamos que tenemos una variable x
cuyo valor decide la ejecución del código, podemos guardar el par clave: valor
en el diccionario como 0:function1
, 1:function2
, etc., donde 0
y 1
es el valor del diccionario. Para evitar que el código se ejecute en un error, podemos usar el método dict.get(key, default)
y pasar el valor default
para el nombre de la función, si se proporciona algún valor desconocido de x
.
El siguiente código de ejemplo demuestra cómo usar el tipo de datos del diccionario para implementar la funcionalidad de la declaración switch
en Python:
def function1():
print("function 1 was executed")
def function2():
print("function 2 was executed")
def function3():
print("function 3 was executed")
switch = {1: function1, 2: function2, 3: function3}
x = 1
switch.get(x, function1)()
x = 2
switch.get(x, function1)()
Producción :
function 1 was executed
function 2 was executed
En caso de que queramos realizar algunas acciones sobre el valor de otra variable a
en función del valor de la variable x
, podemos hacerlo como se muestra en el siguiente código de ejemplo:
switch = {1: lambda a: a + 1, 2: lambda a: a + 2, 3: lambda a: a + 3}
x = 2
a = 10
print(switch[x](a))
x = 1
a = 4
print(switch[x](a))
Producción :
12
5
Implementar la declaración switch
mediante las declaraciones if...elif...else
o if ... else
La sentencia if...elif...else
se usa si necesitamos manejar más de dos casos, y la sentencia if ... else
se usa para manejar dos posibilidades o casos.
Podemos usar if ... else
si tenemos dos códigos posibles para el valor de x
en lugar de la declaración switch
. Y podemos usar la instrucción if...elif...else
si tenemos más de dos códigos o funciones para ejecutar para los múltiples valores de x
.
El siguiente código de ejemplo demuestra cómo implementar la funcionalidad de la declaración switch
usando la declaración if ... else
en Python:
def function1():
print("function 1 was executed")
def function2():
print("function 2 was executed")
x = 3
if x == 1:
function1()
else:
function2()
Producción :
function 2 was executed
Podemos implementar la declaración switch
usando la declaración if...elif...else
para manejar varios casos, como se muestra en el siguiente código de ejemplo:
def function1():
print("function 1 was executed")
def function2():
print("function 2 was executed")
def function3():
print("function 3 was executed")
x = 2
if x == 1:
function1()
elif x == 2:
function2()
elif x == 3:
function3()
Producción :
function 2 was executed