Comparação com as Instruções if do Python
Antes de mergulharmos nos exemplos da declaração Switch Case do Python, vamos compará-la com as declarações tradicionais if-elif-else.
Considere o seguinte exemplo de correspondência de códigos de resposta HTTP:
response_code = 200
if response_code == 200:
print("OK")
elif response_code == 404:
print("404 Not Found")
elif response_code == 500:
print("Internal Server Error")
Podemos reescrever o mesmo exemplo usando a declaração Switch Case do Python da seguinte forma:
response_code = 201
match response_code:
case 200:
print("OK")
case 404:
print("404 Not Found")
case 500:
print("Internal Server Error")
Como pode ver, a declaração Switch Case do Python é mais concisa e fácil de ler em comparação com as declarações if-elif-else.
Aqui está a sintaxe para uma declaração switch case:
match term:
case pattern-1:
action-1
case pattern-2:
action-2
case pattern-3:
action-3
case _:
action-default
O term é o valor que você deseja corresponder aos padrões. O padrão pode ser um único valor, uma tupla, uma lista, uma classe embutida ou uma combinação destes usando o operador or (|). O _ é um padrão catch-all (pega-tudo) que corresponde a qualquer valor.