2 formas simples de implementar Python Switch Case Statement
free Python course with 25 real-time projects Start Now!!
no nosso último tutorial em Python, estudámos o processamento XML no Python 3. Hoje, vamos estudar como implementar Python Switch Case Statement.
Ao contrário de outras linguagens como Java Programming Language e C++, Python não tem uma construção de switch-case. Juntamente com isso, vamos ver como trabalhar uma brecha para a declaração de caso Python switch.
então, vamos discutir diferentes formas de implementação para a Declaração de caso de Switch Python.
2 formas simples de implementar Python Switch Case Statement
o que é Python Switch Case Statement?
Python não tem uma construção simples de switch-case. Vindo de um fundo Java ou C++, você pode achar isso um pouco estranho.
Em C++ ou Java, temos algo assim:
string week(int i){ switch(i){ case 0: return "Sunday” break; case 1: return "Monday” break; case 2: return "Tuesday” break; case 3: return "Wednesday” break; case 4: return "Thursday” break; case 5: return "Friday” break; case 6: return "Saturday” break; default: return "Invalid day of week” } }
mas Python não tem isto.
assim, para contornar isso, usamos a construção do dicionário embutido do Python para implementar casos e decidimos o que fazer quando um caso é atendido.
também podemos especificar o que fazer quando nenhum é atendido.
Solutions for Python Switch Case Statement
One way out would be to implement an if-elif-else ladder. Em vez disso, podemos usar um dicionário para mapear os casos para sua funcionalidade.
Aqui, nós definimos uma semana de função() para nos dizer qual é o dia de um determinado dia da semana. Um switcher é um dicionário que executa este mapeamento.
>>> def week(i): switcher={ 0:'Sunday', 1:'Monday', 2:'Tuesday', 3:'Wednesday', 4:'Thursday', 5:'Friday', 6:'Saturday' } return switcher.get(i,"Invalid day of week")
Now, we make calls to week() with different values.
>>> week(2)
Saída
>>> week(0)
Saída
>>> week(7)
Saída
>>> week(4.5)
Saída
Como você pode ver, para outros valores que não aqueles que menciona, no switcher, imprime Inválido “dia da semana”. Isto é porque dizemos a ele para fazê-lo usando o método get() de um dicionário.
A. Usando funções Python & Lambdas
também podemos usar funções e lambdas no dicionário.
>>> def zero(): return 'zero'>>> def one(): return 'one'>>> def indirect(i): switcher={ 0:zero, 1:one, 2:lambda:'two' } func=switcher.get(i,lambda :'Invalid') return func()>>> indirect(4)
Saída
>>> indirect(2)
Saída
>>> indirect(1)
Saída
>>> indirect(0.5)
Saída
b. Com o Python Classes
Usando este conceito com aulas nos permite escolher um método em tempo de execução.
>>> class Switcher(object): def indirect(self,i): method_name='number_'+str(i) method=getattr(self,method_name,lambda :'Invalid') return method() def number_0(self): return 'zero' def number_1(self): return 'one' def number_2(self): return 'two'>>> s=Switcher()>>> s.indirect(2)
Saída
>>> s.indirect(4)
Saída
>>> s.number_1()
Saída
Então, isso foi tudo sobre Python Interruptor de Instrução do Caso. Espero que gostes do nosso tutorial.
perguntas de entrevistas em Python no Switch Case Statement
- O Python tem uma switch case statement?
- Como implementa um estojo de comutação em Python?
- O que é um caso em switch em Python?
- explique Python switch case statement com exemplo.
- quantos casos você pode ter na declaração switch em Python?
conclusão
portanto, concluímos que o Python não tem uma construção de switch-case incorporada, podemos usar um dicionário em vez disso.