Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

*Args **Kwargs

Eu sempre vi uns código de função com esses argumentos. O que seriam?

2 respostas
solução!

Oi,

segue um exemplo:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Quando vc define uma função usando *args e **kwargs, vc está falando pro python que é pra pegar todos os parâmetros passados e dividir entre argumentos e argumentos com palavra chave.

Nesse exemplo, todos os argumentos passados diretamente (10 e 20), são agrupados em uma tupla que pode ser acessada pelo nome args e os com palavras chave ('a' e 'b') são agrupados em um dicionário que pode ser acessado pelo nome kwargs.

Note que os nomes args e kwargs são apenas nomes de variáveis, então vc pode usar o nome que quiser. O importante são os asteriscos antes dos nomes.

Se vc quiser procurar sobre o assunto, isso chama-se pack e unpack em python.

Segue o código escrito:

def f(*args,**kwargs):
    print('args:',args)
    print('kwargs:', kwargs)
f(10,20, a=100, b=300)

Nossa, muito obrigado