Entendendo o Match Case em Python

Ana Maria Gomes
5 minutos de leitura

Conteúdos do tutorial

Python é uma linguagem de programação conhecida por sua simplicidade e legibilidade, o que a torna uma escolha popular entre os iniciantes. Uma das adições mais recentes ao Python é o bloco match case, introduzido na versão 3.10. Este recurso oferece uma maneira mais concisa e flexível de lidar com estruturas condicionais, comparável ao switch de outras linguagens. Neste tutorial, vamos explorar o match case em Python, ideal para você que está começando e deseja entender melhor essa funcionalidade.

O Que é o Bloco Match Case?

O bloco match case é uma estrutura de controle de fluxo que permite comparar uma variável com diferentes valores ou padrões de forma mais organizada e legível do que as tradicionais estruturas if/elif/else. Ele foi introduzido no Python 3.10 e é especialmente útil quando temos muitos valores específicos para testar.

Como Funciona o Match Case?

Imagine que você tem uma variável e quer executar diferentes ações dependendo do valor dessa variável. Antes do match case, você provavelmente usaria uma série de if, elif e else. Agora, com o match case, você pode fazer isso de forma mais estruturada. Veja um exemplo básico:

opcao = 'a'

match opcao:
    case 'a':
        print("Opção A selecionada")
    case 'b':
        print("Opção B selecionada")
    case _:
        print("Opção inválida")
Testar

No exemplo acima, o Python verifica o valor de opcao e compara com cada case. Se nenhum case corresponder, o _ (que funciona como um else) captura qualquer valor não especificado.

Vantagens do Match Case

O match case não é apenas uma alternativa ao if/elif/else, mas também oferece algumas vantagens:

  • Legibilidade: O código fica mais claro e fácil de entender.
  • Flexibilidade: Permite testar valores alternativos em um mesmo case usando o operador |.
  • Padrões Estruturais: Pode verificar o tipo de dado e buscar por padrões estruturais dentro da variável.

Exemplos Práticos

Vamos ver alguns exemplos práticos de como o match case pode ser utilizado:

Comparando Strings

nome = "João"

match nome:
    case "João":
        print("Olá, João!")
    case "Maria":
        print("Olá, Maria!")
    case _:
        print("Não reconheço você!")
Testar

Trabalhando com Tipos de Dados

variavel = 123

match variavel:
    case int():
        print("A variável é um inteiro")
    case str():
        print("A variável é uma string")
    case _:
        print("Tipo de dado não identificado")
Testar

Usando Padrões Estruturais

dados = {'nome': 'João', 'nota': 10}

match dados:
    case {'nome': 'João', 'nota': 10}:
        print("João tirou nota 10")
    case _:
        print("Nenhuma informação obtida")
Testar

Dicas Importantes

  • Indentação: Assim como em outras estruturas em Python, a indentação é crucial para definir o bloco de código que será executado em cada case.
  • Case Sensitive: O match case é sensível a maiúsculas e minúsculas, então ‘A’ é diferente de ‘a’.
  • Valor Padrão: Use o _ para capturar qualquer valor que não corresponda aos cases anteriores.

Conclusão

O match case é uma adição valiosa ao Python que simplifica a escrita de código condicional. Com este tutorial, esperamos que você, iniciante em Python, tenha compreendido o básico dessa funcionalidade e esteja pronto para aplicá-la em seus próprios projetos. Lembre-se de que a prática leva à perfeição, então experimente o match case e veja como ele pode tornar seu código mais limpo e eficiente.

Inscreva-se gratuitamente e fique atualizado

Receba toda semana um resumo dos principais conteúdos da Asimov direto no seu e-mail. 100% livre de spam.

Áreas de interesse: