Instrução switch em Python

Muhammad Waiz Khan 30 janeiro 2023
  1. Implementar a declaração switch usando o dicionário
  2. Implemente a instrução switch usando as instruções if...elif...else ou if ... else
Instrução switch em Python

Este tutorial demonstrará vários métodos para implementar a funcionalidade de instrução switch em Python. Em muitas linguagens de programação, a instrução switch é usada para controlar o fluxo do programa ou, em outras palavras, quais blocos de código executar com base no valor da variável ou expressão.

Ao contrário das linguagens de programação como C, C++, C# e JAVA, a linguagem Python não fornece a instrução switch. Mas podemos usar os métodos a seguir no lugar da instrução switch no Python.

Implementar a declaração switch usando o dicionário

O tipo de dados de dicionário em Python é usado para armazenar a coleção de dados como pares chave: valor. É um tipo de dados alterável ou mutável e não permite valores duplicados.

Como na instrução switch, decidimos qual código executar com base no valor da variável. Podemos usar os pares chave: valor do dicionário, onde chave será o valor da variável e valor será o nome da função. Podemos executar a função correspondente com base no valor chave.

Suponha que temos uma variável x cujo valor decide a execução do código, podemos salvar o par chave: valor no dicionário como 0:function1, 1:function2, etc., onde 0 e 1 é o valor do dicionário. Para evitar que o código execute um erro, podemos usar o método dict.get(key, default) e passar o valor default para o nome da função, se algum valor desconhecido de x for fornecido.

O código de exemplo a seguir demonstra como usar o tipo de dados de dicionário para implementar a funcionalidade de instrução switch em 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)()

Resultado:

function 1 was executed
function 2 was executed

Caso desejemos realizar algumas ações no valor de outra variável a com base no valor da variável x, podemos fazê-lo conforme mostrado no código de exemplo abaixo:

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))

Resultado:

12
5

Implemente a instrução switch usando as instruções if...elif...else ou if ... else

A instrução if...elif...else é usada se precisarmos tratar mais de dois casos, e a instrução if ... else é usada para tratar duas possibilidades ou casos.

Podemos usar if ... else se tivermos dois códigos possíveis para o valor de x em vez da instrução switch. E podemos usar a instrução if...elif...else se tivermos mais de dois códigos ou funções para executar para os múltiplos valores de x.

O código de exemplo a seguir demonstra como implementar a funcionalidade da instrução switch usando a instrução if ... else em Python:

def function1():
    print("function 1 was executed")


def function2():
    print("function 2 was executed")


x = 3

if x == 1:
    function1()
else:
    function2()

Resultado:

function 2 was executed

Podemos implementar a instrução switch usando a instrução if...elif...else para lidar com vários casos, conforme mostrado no código de exemplo abaixo:

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()

Resultado:

function 2 was executed

Artigo relacionado - Python Keyword