Nous avons beaucoup de code dans notre base de code interne qui appelle nos bibliothèques en interne - ces bibliothèques ont souvent beaucoup d'arguments (pensez matplotlib) et notre code ne fait souvent qu'une tâche spécifique et passe simplement la **kwargs
à la fonction suivante appelée.
Par exemple:
def our_method(dataframe, **kwargs):
result = do_something_with_data(dataframe)
external_module.draw(result, **kwargs)
Tout en **kwargs
nous empêchant de répéter tous les paramètres de notre déclaration de méthode, cela rend également extrêmement opaques les arguments valides lors de l'appel our_method
- je dois savoir quelle méthode est appelée, ce que je ne veux souvent pas savoir.
Quelle est votre opinion à ce sujet?
Si la fonction de niveau supérieur a un __doc__, vous pouvez simplement copier le __doc__ dans votre nouvelle fonction.
Par exemple:
Cela pourrait s'appliquer de manière récursive et pourrait être appliqué par un décorateur (ce qui pourrait être utile si vous le faites de manière groupée). La chaîne __doc__ peut également être manipulée pour ajouter plus à la fin. Cela signifie que les paramètres affichés seraient toujours des kwargs, mais au moins il y a de la documentation dans l'aide décrivant les paramètres réels.
la source