**
может привести к еще более сложной ошибке, потому что она будет принимать все что угодно. Обычно вам нужен код, который ломается при неправильном вызове Вот пример:
def dostuff(**kwargs):
force = 3
if kwargs.get('reallyhard', False):
force += 5
# and so on
# Now you need luck to find this bug ...
dostuff(fancy=True, funky=False, realyhard=True)
Вы не должны использовать **
только потому, что вам лень набирать имена аргументов. Это не всегда возможно, поэтому есть и законное использование.