ExpertiDict

Python · Intermediário · Inglês · Técnico

args e kwargs

/ɑɹɡz i ˈkwɑɹɡz/substantivo

Convenção para os parâmetros *args, que reúne argumentos posicionais extras numa tupla, e **kwargs, que reúne os nomeados extras num dicionário. Permite funções com número variável de argumentos.

Onde usar

Aparece em decorators e em funções que repassam argumentos adiante sem conhecê-los. Em APIs públicas, abusar deles esconde a assinatura real e atrapalha o autocompletar.

Em código

def mostrar(*args, **kwargs):
  print(args)
  print(kwargs)

mostrar(1, 2, cor='azul')

Exemplos

Forward everything with *args and **kwargs.

Repasse tudo com *args e **kwargs.

The wrapper accepts any call through args and kwargs.

O wrapper aceita qualquer chamada por meio de args e kwargs.

Cuidado

Os nomes args e kwargs são só convenção; o que vale são o * e o **.

Veja também

Todos os termos de Python