Python · Intermediário · Inglês · Técnico
pattern matching
Instrução match/case do Python 3.10 que compara um valor com padrões estruturais, como tipos, listas e dicionários, e já extrai partes dele em variáveis.
Onde usar
Útil para tratar comandos, mensagens e dados aninhados sem uma cascata de if e isinstance. Aparece ao processar JSON, árvores de sintaxe e eventos de tipos diferentes.
Em código
def tratar(cmd):
match cmd:
case ['ir', destino]:
return f'indo a {destino}'
case ['sair']:
return 'tchau'
case _:
return '?'Exemplos
Switch to pattern matching instead of that if-elif chain.
Troque aquela cadeia de if-elif por pattern matching.
The pattern matching unpacks the tuple right in the case.
O pattern matching desempacota a tupla direto no case.
Cuidado
Um nome simples no case, como case cor:, captura qualquer valor em vez de compará-lo; para comparar com uma constante use um nome com ponto ou um literal.
Sinônimos
match case, correspondência de padrões