Python: проверьте аргументы функции по умолчанию

Просто добавьте еще одну возможность (с которой я столкнулся) - это может быть так, если вы разрабатываете / поддерживаете Azure WebApp, используя строку соединения, сохраненную в настройках приложения Azure.

Рядом с каждым подключением строка в настройках приложения - это раскрывающийся список для типа строки подключения. Очень легко забыть установить это значение «Пользовательский» для значений платформы Entity Framework и оставить его по умолчанию (SQL Database), что также вызывает указанную выше ошибку.

-2
задан sam 16 January 2019 в 07:29
поделиться

1 ответ

inspect.getfullargspec(ec2.create_instance) обычно дает тебе все, что тебе нужно. Совместите args и defaults на правой стороне. Например:

def foo(a, b=3, *c, d=5):
    m = a + b
    return m

argspec = inspect.getfullargspec(ec2.create_instance)
{**dict(zip(argspec.args[-len(argspec.defaults):], argspec.defaults)),
 **argspec.kwonlydefaults}
# => {'b': 3, 'd': 5}

Как говорит @ 9769953, если параметр связан в **kwargs, он обрабатывается кодом функции и, следовательно, не находится в сигнатуре функции.

0
ответ дан Amadan 16 January 2019 в 07:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: