Как программно определить функции оболочки Python, которые имеют одинаковые (необязательные) параметры функций, которые они переносят - PullRequest
0 голосов
/ 13 июня 2019

Я обнаружил, что определяю ряд функций-оболочек, главным образом, чтобы избежать изменения функций, которые приходят из пакетов (как стандартных, так и собственных).Мне бы хотелось, чтобы интерпретатор понимал оболочку как имеющую те же аргументы, что и функции, которые он упаковывает.Например, у меня есть функция обтекания

def wrapped(opt=1):
     DoSomethingWithTheParameters(opt)

, которую я сейчас обертываю оберткой на основе словаря

def wrapper(kwargs):
    return wrapped(**kwargs)

Но это имеет недостатки:

  1. Список аргументов wrapper неизвестен интерпретатору
  2. Оболочка docstring пуста и будет хорошо, если ее можно унаследовать от функции-оболочки

В любом случае, я могу программно определить оболочки, чтобы они получали тот же список аргументов, что и функции, которые они оборачивают?есть ли шанс, что они также получат одну и ту же строку документации?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...