Instrução switch em Python
-
Implementar a declaração
switch
usando o dicionário -
Implemente a instrução
switch
usando as instruçõesif...elif...else
ouif ... else
![Instrução switch em Python](/img/Python/feature-image---python-switch.webp)
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