Entendendo *args e **kwargs em Python
Saudações!
Em Python, *args e **kwargs são ferramentas poderosas para lidar com funções que requerem flexibilidade na passagem de parâmetros.
*args: Este parâmetro permite que você passe uma lista de valores com tamanho variável para a função. Por exemplo:
def exemplo(nome, idade):
print(f'Olá, {nome}, você tem {idade} anos.')
def args(*args):
exemplo(*args) args('João', 99)
Execução:
Olá, João, você tem 99 anos.
No entanto, é importante notar que a quantidade de parâmetros passada deve ser exatamente a esperada pela função, caso contrário, uma exceção será gerada.
**kwargs: Já este parâmetro permite a passagem de parâmetros adicionais como um dicionário (chave-valor). A função deve declarar kwargs para permitir esses parâmetros. Exemplo:
def exemplo(nome, idade, **kwargs):
for arg, value in kwargs.items():
print(f'{arg} = {value}')
print(f'Olá, {nome}, você tem {idade} anos.')
def args(*args, **kwargs):
exemplo(*args, **kwargs)
args('João', 99, pai='Carlos', mae='Joana', tio='Pedro')
Execução:
pai = Carlos
mae = Joana
tio = Pedro
Olá, João, você tem 99 anos.
Esses parâmetros adicionais (**kwargs) são frequentemente utilizados para configurar o comportamento de métodos, como escolher formatação ou determinar qual driver usar para cálculos.
Deixa um like se gostou do conteúdo. ❤️