Bom, switch ou case é uma das funções mais utilizadas na maioria das linguagens de programação. O Python
infelizmente não tem esta estrutura, causando em alguns momentos uma sensação de perda para quem está começando na linguagem.
Na Computação, o uso do caso é bem mais indicado que o uso de uma série de ifs/elses encadeados. Primeiro, porque a estrutura caso é muito mais indicado, por gerar menos processamento e logicamente, tornar seu programa mais rápido.
Em pequenos scripts isto pode não ser tão crítico, mas quando começamos a falar de grandes programas, sim, o uso de estruturas mais indicadas para cada caso é sempre o melhor a ser feito.
Assim, desde que comecei com o Python, comecei a procurar um modo de "usar" a estrutura case, e não é que existe ?
O modo Pythonico de fazer isto é utilizar os dicionários, ou seja, fazer isto do seguinte modo :
def primeiraFuncao():
>> pass
def segundaFuncao():
>> pass
switch{1:primeiraFuncao,2:segundaFuncao}
switch[valor]()
Assim, como pode ser visto no código acima, temos uma estrutura que irá lhe facilitar o uso disto.
Isto já me ajudou em uns dois ou três momentos, principalmente em scripts de Administração de Servidores :-)