Article image
Lucas Silva
Lucas Silva27/03/2024 13:59
Compartilhe

< Python > Parâmetros *args e **kwargs

  • #Python

Neste tópico será explicado de forma objetiva e breve o uso de parâmetros *args e **kwargs utilizados na linguagem de programação Python

De forma breve, esses argumentos nos permitem passar quantos parâmetros quisermos, sendo eles de keyword ou posição.

*args

O parâmetro não precisa se chamar args, porém deve ter *, sendo assim o parâmetro *qualquer_nome válido.

Abaixo temos uma função que recebe o nome de um ator e quando ganhou algum oscar:

def ator_oscars(nome, *args):
print ('Ator:', nome)
for ano in args:
  print('Oscar:', ano)


ator_oscars('Will Smith', '2002', '2007', '2022')

Como é possível observar, são fornecidos 3 argumentos que indicam o ano em que o ator venceu a premiação.

-> Output

Ator: Will Smith
Oscar: 2002
Oscar: 2007
Oscar: 2022

**kwargs

Passa um número variável de argumentos de keywords para uma função Python. Logo, podemos utilizar vários argumentos para diferentes propósitos.

O parâmetro não precisa se chamar kwargs, porém deve ter **, sendo assim o parâmetro **produtos é válido.

A função abaixo cria um dicionário de elementos e retorna a quantidade total de produtos fornecidos.

def total_produtos(**produtos):
  total = 0
  for quantidade in produtos.values():
      total += quantidade
  return total

print('Total de produtos: ',total_produtos(chococolate=3, carne=7, limao=8))
print('Total de produtos: ',total_produtos(bolo=1, refrigerante=2, leite=3))
print('Total de produtos: ',total_produtos(ovos=12, azeite=1, farinha=1))

-> Output

Total de produtos:  18
Total de produtos:  6
Total de produtos:  14

Conclusão

Nesse artigo, foi possível aprender de forma objetiva o uso de dois parâmetros que tornam uma função flexível, portanto, aceitando vários argumentos ou keywords.

Referências

Ref 1

Ref 2

Ref 3

Conecte-se comigo

LinkedIn

Compartilhe
Comentários (0)