Blog

Postado em em 4 de fevereiro de 2023

Args e Kwargs em Python – Aprenda de Uma Vez por Todas

Você sabe quando e onde aplicar as estruturas Args e Kwargs em Python nos seus códigos? Aprenda hoje a reconhecer e utilizar esses recursos!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Fala Impressionadores! Na aula de hoje eu quero te mostrar o que são Args e kwargs em Python. Provavelmente você já ouviu falar nesses nomes, mas pode não saber o que são ou como eles funcionam.

Então, o que são args em Python?

Nada mais são do que argumentos de posição (parâmetros na ordem em que a sua função está solicitando os argumentos).

Com o args, você vai poder passar vários parâmetros conforme a posição.

Agora o que são kwargs em Python?

É bem similar, mas serve para os argumentos de keyword (parâmetros conforme o nome dos parâmetros).

Isso quer dizer que podemos passar os argumentos com o nome que eles possuem dentro da função.

E qual a utilidade dos args e kwargs?

Servem para que você possa passar quantos parâmetros quiser, sendo eles de posição ou de keyword. Dessa forma o Python vai entender que naquele local você vai passar um ou mais argumentos para a sua função.

Exemplo

Args e Kwargs em Python
Exemplo

Os argumentos que vamos apresentar são argumentos antigos em Python, portanto, funcionam em qualquer editor de código.

O que são argumentos de posição e keyword?

Posição

Args e Kwargs em Python
Posição

O argumento de posição é intuitivo, temos duas variáveis, pela sequência sabemos a que variável cada valor pertence.

Obs. Neste caso é importante colocar os valores na ordem correta ou podemos associar de forma errada.

Keyword

Args e Kwargs em Python
Keyword

Observe que desta forma nós estamos indicando o nome da variável associada ao valor, valor e chave, sendo assim não importa a ordem que pusermos, o programa não vai se perder.

Podemos usar juntos os argumentos de posição e keyword?

Depende, se você colocar primeiro um argumento de posição (somente o valor sem a indicação da variável) e depois um no formato keyword não tem problema, o código roda normalmente.

O contrário já não funciona…

Usar no primeiro argumento uma keyword (variável e valor) e depois um argumento de posição vai gerar um erro no programa no momento de rodar o código.

Não importa a quantidade de argumentos contanto que os de posição venham antes.

Args e Kwargs em Python
Modo correto de posicionar.

Para que serve o Args e o kwargs?

Quando colocamos o args no lugar de algum valor, ele funciona como uma variável capaz de armazenar valores, por exemplo.

Podemos colocar dentro dos parênteses dois valores.

(1000, 105)

Ou podemos colocar um valor e o Args.

(1000, *Args)

O primeiro valor será somente 1000, já o segundo será quantos valores quisermos atribuir ao args.

Args e Kwargs em Python
Exemplo

Observe na imagem acima, o primeiro valor é único, o segundo representa quantos valores acrescentarmos dentro dos parênteses após o primeiro valor.

Quando programadores vão criar uma função em Python e essa função pode receber diversos argumento diferentes como parâmetro, normalmente usam o *args para isso.

Como usar o *Args de maneira inteligente?

Entenda que o args nada mais é do que uma tupla, e do mesmo modo devemos colocar dentro valores que se correspondam, grupos de valores que façam sentido.

Se tem 5 tipos de impostos, faz sentido colocarmos juntos, mas se temos 4 impostos e um valor de vendas, o valor de venda deve estar fora do args.

Compare na imagem abaixo que, descrevendo impôs to por imposto ou usando o args o resultado é o mesmo.

Exemplo
Exemplo

Kwargs

Kwargs = KeyWord

A diferença da estrutura no código é que no *args usamos 1 asterisco e não damos o nome ao parâmetro e no **Kwargs usamos 2 asteriscos e damos nome ao parâmetro.

**Kwargs
**Kwargs

O resultado do Kwargs é um dicionário com todos os parâmetros nele, por este motivo você tem a opção de criar condições para cada parâmetro usando o IF ou outras estruturas condicionais:

Por exemplo:

Usando condicionais
Usando condicionais

Obs. Neste caso não nomear os parâmetros vai gerar erro no código.

Conclusão – Args e Kwargs em Python

O objetivo desta aula foi mostrar a utilidade do Args e Kwargs, mostramos onde aplicar, porque utilizar e de que maneira é mais interessante.

Se você ainda não conhecia essas estruturas em Python essa aula vai te ajudar bastante a organizar e otimizar seus códigos e cálculos.

Não só isso, saber reconhecer essas estruturas em outros códigos pode te ajudar muito a entender o que está sendo feito!

Eu fico por aqui! Espero que tenham gostado! Abraço,

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Quer sair do zero no Python e virar uma referência na sua empresa? Inscreva-se agora mesmo no Python Impressionador