W naszej wewnętrznej bazie kodów znajduje się dużo kodu, który wywołuje nasze biblioteki wewnętrznie - biblioteki te często mają wiele argumentów (myśl matplotlib), a nasz kod często wykonuje tylko określone zadanie i po prostu przekazuje **kwargs
kolejną wywoływaną funkcję.
Na przykład:
def our_method(dataframe, **kwargs):
result = do_something_with_data(dataframe)
external_module.draw(result, **kwargs)
Chociaż **kwargs
uniemożliwia nam powtarzanie wszystkich parametrów w naszej deklaracji metody, powoduje również, że niezwykle nieprzejrzyste są argumenty, które są prawidłowe podczas wywoływania our_method
- muszę wiedzieć, która metoda jest wywoływana, czego często nie chcę wiedzieć.
Jakie jest twoje zdanie?
Jeśli funkcja następnego poziomu ma __doc__, możesz po prostu skopiować __doc__ do nowej funkcji.
Na przykład:
Może to zostać zastosowane rekurencyjnie i może być zastosowane przez dekoratora (co może być przydatne, jeśli robisz to luzem). Można również manipulować ciągiem __doc__, aby dodać więcej na końcu. Oznacza to, że pokazane parametry nadal byłyby kwargami, ale przynajmniej w dokumentacji opisującej rzeczywiste parametry znajduje się pomoc.
źródło