Avatar ·

Existe um operador switch case em Python?

📁 python, pergunta, ajuda, projeto

n

Me deparei com a necessidade de implementar uma condição múltipla, que em outras linguagens eu implementaria usando a construção switch-case.

n

Em Python, tenho que escrever tudo usando condições if-elif-else. Isso me parece bastante inconveniente.

n

Existe uma maneira mais conveniente de escrever tais condições?

n

Por exemplo, tenho unidades de medida e, dependendo da unidade selecionada, preciso retornar o multiplicador correspondente:

n
def get_multiplier(unit):n    if unit == 

                    
                
Avatar ·

UPD END

Para começar, não há nada especialmente ruim em usar a construção if-elif-else.

Se desejar, é possível encontrar algumas alternativas.


Uso de dicionários

Uma forma bastante comum de organizar a construção switch-case em Python é o uso de dicionários. É mais simples mostrar com um exemplo:

unit_to_multiplier = {    'mm': 10**-3,    'cm': 10**-2,    'dm                                

Faça login para deixar uma resposta

Blogs