Blog

Postado em em 2 de dezembro de 2021

Match Case no Python – Nova Funcionalidade

Hoje eu quero te mostrar uma nova funcionalidade que é a estrutura Match Case no Python 3.10 para facilitar sua programação!

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

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

Match Case no Python 3.10

Você já ouviu falar no Match Case do Python 3.10? Hoje eu quero te mostrar como funciona essa estrutura e como ela pode te auxiliar nos seus códigos.

Você que já conhece um pouco de programação vai achar essa estrutura bem similar ao Switch Case por exemplo.

Como Usar Match Case no Python

A ideia aqui é te mostrar alguns exemplos de match case no Python para que você entenda como utilizar essa estrutura e como ela pode te auxiliar na sua programação.

Você certamente já ouviu falar em If e Else no Python não é mesmo? E provavelmente já teve algum código que foi escrever que você colocou vários deles para pegar todas as possibilidades de uma variável ou algo do tipo.

Como por exemplo para pegar um valor e identificar qual o dia da semana esse valor corresponde.

def dia_semana(dia):
    if dia == 1:
        return "Domingo"
    elif dia == 2:
        return "Segunda-Feira"
    elif dia == 3:
        return "Terça-Feira"
    elif dia == 4:
        return "Quarta-Feira"
    elif dia == 5:
        return "Quinta-Feira"
    elif dia == 6:
        return "Sexta-Feira"
    elif dia == 7:
        return "Sábado"
    else:
        return "Valor {} inválido".format(dia)

Veja que nesse caso temos que escrever várias vezes as estruturas If e Else para chegar a esse resultado, então vamos ter que ficar fazendo várias verificações até encontrar o valor desejado e retornar o resultado.

Só que ao utilizar o Match Case nós vamos ter casos no Python, como assim? Vamos fazer basicamente a mesma estrutura, mas vamos escrever Case no lugar do If e Else.

Então vamos ter uma variável e caso o valor dela seja 1 por exemplo vamos retornar domingo e assim por diante.

def dia_semana(dia):
    match dia:
        case 1:
            return "Domingo"
        case 2:
            return "Segunda-Feira"
        case 3:
            return "Terça-Feira"
        case 4:
            return "Quarta-Feira"
        case 5:
            return "Quinta-Feira"
        case 6:
            return "Sexta-Feira"
        case 7:
            return "Sábado"
        case _:
            return "Valor {} inválido".format(dia)

Aqui você pode notar que ao invés de ficar escrevendo If, Elif e Esle nós temos apenas o Match com a variável e o Case com os valores que a variável pode assumir.

def fim_semana(dia):
    match dia:
        case 'Domingo' | 'Sábado':
            return "Fim de Semana"

        case _:
            return 'Dia útil'

print(fim_semana('Domingo'))
print(fim_semana('Sábado'))
print(fim_semana('Segunda-Feira'))

Aqui temos outro exemplo, só que nesse caso nós estamos utilizando a barra | para poder utilizar mais de uma condição.

Então se for Domingo ou Sábado vamos retornar Fim de Semana. Isso é muito útil quando temos mais de uma resposta para diferentes valores da variável.

Então ao invés de repetir a estrutura para domingo e sábado, podemos colocar as duas no mesmo case.

Por fim temos um último exemplo para te mostrar mais uma forma de utilizar o Match Case no Python.

def contas(centros):
match centros:
case [area, centros]: # Apenas 1 centro de custo
print("A área {} possui o centro de custo {}".format(area,centros))

case [area, *centros]: #2 ou mais centros
print( ' A área {} possui os centros de custo abaixo:'.format(area))
for centro in centros:
print (centro)


contas(['Financeiro', 'ABC'])
contas(['Marketing', 'ABC','XYZ','HJG'])

Aqui já temos algo mais prático e usual dentro da programação, então temos até entradas com mais de um valor e o Python vai identificar e criar uma lista exclusiva com esses valores.

Então se tiver apenas um centro de custo vamos entrar no primeiro case, caso contrário vamos entrar no segundo case, onde temos mais centros de custo e vamos mostrar todos eles com a estrutura de repetição for.

Esses exemplos foram para você entender melhor como funciona a estrutura Match Case em relação a utilização do If e Else.

Você deve ter notado que ao utilizar o If e Else temos que reescrever essa estrutura diversas vezes, dependendo da quantidade de condições que temos, já com o uso do Match case vamos colocar apenas as opções que vamos ter dessas condições.

Isso diminui o trabalho na hora de escrever o código e facilita também na hora de entender o código.

Conclusão

Nessa aula eu te mostrei como funciona a estrutura Match Case do Python 3.10 e como ela pode te auxiliar nos seus códigos para deixá-los mais fáceis de escrever e entender.

Vai facilitar tanto a sua escrita, pois vai diminuir a repetição das estruturas condicionais e vai deixar o código mais fácil de ser entendido, pois já é mais intuitivo que ao usar uma estrutura dessa, temos as condições que podemos ter nesse caso específico.

Agora você já pode utilizar essa estrutura para facilitar seus códigos e evitar a repetição das estruturas If e Else.

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 no Python e virar uma referência na sua empresa? Inscreva-se agora mesmo no Python Impressionador