15

What are Kwarg!!??

I have been going through a tutorial in django, trying to learn the language, and I stumbled on this.

I would really appreciate if some can post / point to a simple example that would help grasp why and how this is used.

Imran
  • 81,919
  • 23
  • 95
  • 127
Nelson_Wu
  • 161
  • 1
  • 1
  • 4

3 Answers3

9

Based on Keyword arguments' documentation pointed out by @Ignacio Vazquez-Abrams

**kwargs allows you to handle named arguments that you have not defined in advance.

In a function call, keyword arguments must follow positional arguments.

All the keyword arguments passed must match one of the arguments accepted by the function (e.g. actor is not a valid argument for the parrot function), and their order is not important.

Édouard Lopez
  • 36,430
  • 24
  • 114
  • 170
0

Try this awesome explanation from digital ocean.

In summary, **kwargs is dict that holds parameters and can be used by first passing it through a view func e.g

def fun(req, **kwargs)

and then get values inside the function like this

kwargs.get('key_name').

0

Check this article

def print_kwargs(**kwargs):
for key in kwargs:
    print("The key {} holds {} value".format(key, kwargs[key]))


print_kwargs(a=1, b=2, c="Some Text")

Output:

The key a holds 1 value
The key b holds 2 value
The key c holds Some Text value
Milad
  • 1
  • 3