Я хотел бы ввести подсказку для нескольких функций с заданным псевдонимом, но не вижу очевидного и чистого способа сделать это. Например, с помощью
Код: Выделить всё
Foo = Callable[[int], str]
def foo1(x: int) -> str:
...
def foo2(x: int) -> str:
...
довольно легко увидеть, что это Foo, но у меня есть функции с гораздо более сложными сигнатурами, и проверять их на глаз утомительно и подвержено ошибкам.
Я ищу что-то вроде этого кода Идриса
Код: Выделить всё
Foo : Type
Foo = Int -> String
foo1 : Foo
foo1 x = ?rhs
foo2 : Foo
foo2 x = ?rhs
Здесь очевидно, что такое Foo, и если у меня есть функции, которые являются Int -> String, но не намеренно Foo, это ясно.
Один из способов:
Код: Выделить всё
Foo = Callable[[int], str]
def _foo1(x: int) -> str:
...
foo1 : Foo = _foo1
но мне бы хотелось найти что-то, что более естественно работает с документами и не требует (своего рода) дублирования.
Подробнее здесь:
https://stackoverflow.com/questions/660 ... h-an-alias