Sobes.tech
Junior — Middle

Pode explicar o que é **kwargs em Python e como é utilizado?

sobes.tech IA

Resposta da IA

Em Python, **kwargs é uma forma de passar um número arbitrário de argumentos nomeados para uma função na forma de um dicionário. O nome kwargs é convencional, pode usar-se qualquer outro, o importante é os dois asteriscos ** antes do parâmetro.

Quando uma função é declarada com **kwargs, todos os argumentos nomeados adicionais que não foram explicitamente indicados são recolhidos num dicionário, onde a chave é o nome do argumento e o valor é o seu valor.

Exemplo de uso:

def greet(**kwargs):
    for name, greeting in kwargs.items():
        print(f"{name}: {greeting}")

greet(John="Hello", Alice="Hi", Bob="Hey")

Saída:

John: Hello
Alice: Hi
Bob: Hey

Isto é útil quando não se sabe de antemão quais os argumentos nomeados que serão passados, ou quando se precisa passar argumentos para outra função.