Eu sempre vi uns código de função com esses argumentos. O que seriam?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Eu sempre vi uns código de função com esses argumentos. O que seriam?
Oi,
segue um exemplo:
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