Blog

Postado em em 26 de novembro de 2022

Match Case em Python – Aprenda a Trabalhar com Várias Condições

Você sabe o que é Match Case Python? Eu vou te mostrar como essa estrutura vai te ajudar e vai substituir IF e ELSE do seu código!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Match Case Python

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Que tal aprender como você pode escrever seu código de forma mais simples com o Match case?

Não se esqueça de baixar o arquivo disponível para download, vai te ajudar a acompanhar a explicação.

Você conhece o Match Case? Hoje vamos explicar várias condições no Python! Esta estrutura que também pode ser chamada de Switch case te ajuda a simplificar seu código.

Já teve que construir condições no Python e terminou com um código que se repete muitas vezes?

Sabemos que nestes casos é comum repetir códigos, mas isso pode ser feito de maneira mais simples e prática.

Nesta aula vamos ver como fazer isso!

Como tratar de várias condições no Python?

Quando nós vamos construir condições no Python podemos fazer isso como na imagem abaixo, observe que neste código temos o dia, inserido pelo usuário na hora de preencher algum formulário, por exemplo.

Depois que o usuário insere o dia no formato de número o programa printa o dia da semana correspondente, dia 1 é igual a domingo então ele vai printar “domingo”.

Nas próximas linhas o (elif) trata a condição, caso o dia informado pelo usuário não seja igual a 1, caso seja 2, então ele printa “segunda” se for dia 3 vai printar “terça” e assim sucessivamente até o dia 7 correspondente a sábado.

Se o usuário inserir qualquer informação que não sejam os valores de 1 a 7, que são as opções que temos, o código vai retornar “Dia Inválido”.

If, elif e else.
If, elif e else.

Se você já conhece a estrutura condicional e quer se aprofundar mais ou relembrar, vou deixar um link aqui para você!

Neste código essencialmente o que estamos querendo fazer?

Estamos verificando o valor de uma variável e atribuindo vários casos diferentes dentro dela, nós não conseguimos criar uma lógica única para o código verificar o valor e retornar uma resposta correspondente a ele.

Nós precisamos tratar cada caso individualmente, observe o tanto que tivemos que escrever quando formulamos dessa forma.

O que vou te ensinar aqui funciona em qualquer editor do Python a partir da versão 3.10.

Portanto, se o que vou te passar aqui não funcionar na sua versão é porque ela é anterior a versão 3.10 e você precisa atualizar sua versão.

Match Case:

Como vamos transformar este código em um Match case?

Match case é como o Python chama essa estrutura em outras linguagens ela é chamada de Switch Case.

Nós vamos inserir na linha abaixo da variável  “Match” em seguida colocamos o nome da variável que neste caso é dia.

Nosso objetivo é avaliar os casos da variável dia.

Quais são os casos? Vamos inserir os casos na próxima linha.

Dia = 15

Match dia:

Case 1:
    Print (“Domingo”)
Case 2:
    Print (“Segunda”)
Case 3:
    Print (“Terça”)
Case 4:
    Print (“Quarta”)
Case 5:
    Print (“Quinta”)
Case 6:
    Print (“Sexta”)
Case 7:
    Print (“Sábado”)

Obs. A indentação nada mais é do que a organização do código, então quando você escreve Case 5: e vai inserir uma informação abaixo.

Utilizamos a tecla TAB para indicar que essas informações estão dentro desse case específico. Isso vale para a estrutura IF, estrutura FOR e assim por diante.

Após escrever a estrutura podemos fazer um teste atribuindo a variável o valor 6, observe na imagem abaixo que o código retornou sexta como era esperado. Portanto, está funcionando perfeitamente.

Testando o código.
Testando o código.

Quando fazemos esse tipo de estrutura é normal que ela seja grande com muitas linhas de código, mas repare que fica mais fácil agora que você conhece o match case.

Certo, de 1 a 7 está funcionando perfeitamente, mas e para os valores em que teria que retornar “dia inválido” os valores que não estão no intervalo de 1 até 7?

Como tratar estes valores?

Quando isso acontecer o que nós fazemos é utilizar o “case_” no final da estrutura. Por exemplo:

...
Case 5:
    Print (“Quinta”)
Case 6:
    Print (“Sexta”)
Case 7:
    Print (“Sábado”)
Case _:
    Print (“Dia Inválido”)

O “case_” significa que, se o valor atribuído a variável diferir dos valores que estão nas opções do case, então o resultado será Dia Inválido.

Neste exemplo atribuímos a variável o valor 10 e o código retornou corretamente com “Dia Inválido”.

Dia inválido.
Dia inválido.

Porque colocamos case_, porque usamos o símbolo underline?

Usamos o underline para mostrar que temos uma variável, porém esta variável não será usada para nenhuma outra aplicação.

Poderíamos ter dado um nome a ela, porém como já temos a variável “dia” que está sendo usada no código a variável “case_” não será atribuída a nenhuma outra ação, é comum programadores do Python utilizarem o underline nesta situação.

Isso ajuda inclusive quando outro programador olhar o código, fica evidente para ele que esta variável só foi criada como um tratamento para “caso contrário”, caso o valor não estiver entre 1 e 7.

Conclusão – Match Case Python

Nesta aula mostramos a diferença entre escrever um código com várias condições usando if, elif e else e usando o match case.

Basicamente esta estrutura facilita a escrita do seu código quando você precisa colocar muitas condições.

Ele ajuda a deixar mais fácil de escrever e de ler o código funcionando com a mesma eficiência.

Espero que este conteúdo te ajude. Um forte abraço.

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Quer sair do zero em Excel e virar uma referência na sua empresa? Matricule-se agora mesmo no Excel Impressionador!