instrucción switch en Python

Muhammad Waiz Khan 30 enero 2023
  1. Implementar la declaración switch utilizando el diccionario
  2. Implementar la declaración switch mediante las declaraciones if...elif...else o if ... else
instrucción switch en Python

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

Artículo relacionado - Python Keyword