У нас есть много кода в нашей внутренней кодовой базе, который вызывает наши библиотеки внутренне - у этих библиотек часто есть много аргументов (например, matplotlib), и наш код часто выполняет только определенную задачу и просто передает **kwargs
следующую функцию, которая вызывается .
Например:
def our_method(dataframe, **kwargs):
result = do_something_with_data(dataframe)
external_module.draw(result, **kwargs)
Хотя **kwargs
мы не можем повторить все параметры в объявлении нашего метода, это также делает его чрезвычайно непрозрачным, какие аргументы являются допустимыми при вызове our_method
- я должен знать, какой метод вызывается, чего я часто не хочу знать.
Что вы думаете об этом?
Если функция следующего уровня имеет __doc__, то вы можете просто скопировать __doc__ в свою новую функцию.
Например:
Это может быть применено рекурсивно и может быть применено декоратором (что может быть полезно, если вы все равно делаете это массово). Строкой __doc__ можно также манипулировать, чтобы добавить больше в конец. Это означает, что показанные параметры все равно будут kwargs, но по крайней мере в справке есть документация, описывающая фактические параметры.
источник