Скопировать подпись типа из другой функции

Представьте, что у меня есть набор функций, как показано ниже. foo имеет множество аргументов различных типов, а bar передает все свои аргументы этой другой функции. Есть ли способ заставить mypy понять, что bar имеет тот же тип, что и foo, без явного копирования всего списка аргументов?

def foo(a: int, b: float, c: str, d: bool, *e: str, f: str = "a", g: str = "b") -> str:
    ...

def bar(*args, **kwargs):
    val = foo(*args, **kwargs)
    ...
    return val

person Caagr98    schedule 13.01.2020    source источник
comment
Это описано в PEP-612 (ParamSpec). Поддержка mypy все еще не реализована (см. mypy#8645).   -  person Danielle Madeley    schedule 24.12.2020


Ответы (1)