Maneira correta de usar ** kwargs em Python

Qual é a maneira correta de usar**kwargs em Python quando se trata de valores padrão?

kwargs retorna um dicionário, mas qual é a melhor maneira de definir valores padrão ou existe um? Devo apenas acessá-lo como um dicionário? Use a função get?

class ExampleClass:
    def __init__(self, **kwargs):
        self.val = kwargs['val']
        self.val2 = kwargs.get('val2')

Uma pergunta simples, mas que não consigo encontrar bons recursos. As pessoas fazem diferentes maneiras no código que eu vi e é difícil saber o que usar.

questionAnswers(14)

yourAnswerToTheQuestion