image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image
Jeferson Oliveira
Jeferson Oliveira26/07/2023 17:27
Compartilhe

Estrutura Match Case em Python

  • #Lógica de Programação
  • #Python
  • #DevOps
Artigo públicado em meu blog/diário de estudos e linkedin: https://justcodelab.wordpress.com/2023/07/26/estrutura-match-case-no-python/
https://www.linkedin.com/posts/jefoli_python-pythondeveloper-pythonprogramming-activity-7090060871892185088-Xwg2?utm_source=share&utm_medium=member_desktop

Hoje vamos falar um pouco sobre a funcionalidade Match Case em Python!

Com advento da atualização 3.10, a linguagem Python recebeu diversas melhorias e uma delas foi a funcionalidade Match Case.

Similar a estrutura Switch Case utilizadas em outras linguagens de programação, a funcionalidade Match Case trata-se de uma estrutura condicional composta, a qual avalia a combinação de múltiplas condições e executa apenas uma determinada expressão.

Antes da atualização 3.10, era comum utilizarmos as estruturas While, If, Elif, Else e/ou Funções para criar estruturas do tipo laço condicional.

opcao = -1

while opcao != 0:
      opcao = int(input("[1] Sacar \n[2] Extrato \n[0] Sair \n: "))
      if opcao == 1:
              print("Sacando...")
      elif opcao == 2:
              print("Exibindo o extrato...")
      else:
              print("Opção inválida!")

No exemplo anterior, podemos observar que foi necessário utilizar outras estruturas para realizar a checagem e retornar o resultado desejado.

De forma oposta, a estrutura Match Case trouxe uma sintaxe limpa e de fácil entendimento para facilitar a sua aplicabilidade.

A estrutura Match Case pode ser utilizada quando temos situações mutualmente exclusivas, em que, se uma instrução for executada, as demais não serão.

Assim, podemos construir um bloco de comandos com múltiplas possibilidades de decisão, que compara uma expressão com uma série de valores e retorna uma instrução.

Sintaxe

A sintaxe da estrutura Match Case é dada por:

match <expressão>:
      case <valor 1>:
              <instruções>
      case <valor 2>:
              <instruções>
  • match: Comando que avalia o valor da variável para decidir qual case será executado.
  • expressão: Uma expressão que será comparada á cada cláusula case.
  • case: Representa um possível valor da da expressão.
  • instruções: Bloco de comando que será executado ao selecionar um case.

Agora vejamos o exemplo anterior com a utilização da estrutura Match Case:

opcao = int(input("[1] Sacar \n[2] Extrato \n[0] Sair \n: "))

match opcao:
      case 1:
              print("Sacando...")
      case 2:
              print("Exibindo o extrato...")

Podemos notar melhora significativa em relação a sintaxe e legibilidade do bloco de comandos, uma vez que descartamos a necessidade de utilizar While, If, Elif, Else.

Ademais, vale pontuar que não há impedimentos quanto ao uso das estruturas condicionais (if/elif/else), estruturas repetição (For, While), sub-rotinas(Funções, Procedimentos, Métodos, etc…) de forma aninhada com Match Case.

Benefícios ao utilizar Match Case

A estrutura Match Case oferece diversos benefícios em termos de Sinxate, Mantenabilidade, Performance, incluindo:

  • Estrutura concisa: Permite que transformar estruturas aninhadas com ramificações complexas de forma concisa e legível.
  • Legibilidade: Com sua sintaxe clara, torna o código legível e autoexplicativo.
  • Segurança: Possibilita que todos os padrões possíveis sejam tratados em cada Case.

Ao longo desse breve artigo podemos verificar alguns aspectos positivos que a linguagem de programação Python trouxe com a implementação da estrutura Switch Case.

No entanto, sua aplicabilidade deve ser analisada com cautela, pois poderá acarretar erros significativos em programas com versões anteriores a 3.10.

#python #sofwareengineer #backend #fronted #techcommunity #technology #dio #alura #pythonprogramming #pythondeveloper #pythonprogramming #softwaredevelopment #softwareengineering

Compartilhe
Comentários (2)
Phelipe Tisoni
Phelipe Tisoni - 26/07/2023 18:49

Eu estava estudando esse assunto ontem! Essa estrutra deixa o código bem mais legível e facilita a escrita também. Parabéns pelo artigo!

Paulo Pereira
Paulo Pereira - 26/07/2023 17:31

Muito legal!

Para mim que sou iniciante essa estrutura realmente parece muito mais legível e concisa!


Obrigado pelo artigo!