Proper way to use **kwargs in Python
default-value, keyword-argument, python
Solution
You can pass a default value to `get()` for keys that are not in the dictionary:
self.val2 = kwargs.get('val2',"default value")
However, if you plan on using a particular argument with a particular default value, why not use named arguments in the first place?
def __init__(self, val2="default value", **kwargs):
Problem
What is the proper way to use `**kwargs` in Python when it comes to default values? `kwargs` returns a dictionary, but what is the best way to set default values, or is there one? Should I just access it as a dictionary? Use `get` function? ``` class ExampleClass: def __init__(self, **kwargs): self.val = kwargs['val'] self.val2 = kwargs.get('val2') ``` People do it different ways in code that I've seen and it's hard to know what to use.