Wir haben eine Menge Code in unserer internen Codebasis, der unsere Bibliotheken intern aufruft - diese Bibliotheken haben oft eine Menge Argumente (man denke an matplotlib) und unser Code erledigt oft nur eine bestimmte Aufgabe und übergibt sie einfach **kwargsan die nächste aufgerufene Funktion.
Z.B:
def our_method(dataframe, **kwargs):
result = do_something_with_data(dataframe)
external_module.draw(result, **kwargs)
Es **kwargsverhindert zwar, dass wir alle Parameter in unserer Methodendeklaration wiederholen, macht aber auch extrem undurchsichtig, welche Argumente beim Aufruf gültig sind our_method- ich muss wissen, welche Methode aufgerufen wird, was ich oft nicht wissen möchte.
Wie sehen Sie das?