如何使用别名键入提示函数

2024-10-06 12:04:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用一个给定的别名键入许多函数,但我看不到一个明显的干净方法。例如,与

Foo = Callable[[int], str]


def foo1(x: int) -> str:
    ...


def foo2(x: int) -> str:
    ...

很容易看出这两个都是Foo,但我的函数具有更复杂的签名,用眼睛检查它们是令人厌烦的,而且容易出错

我在找像这样的idris代码

Foo = Type
Foo = int -> str

foo1 : Foo
foo1 x = ?rhs

foo2 : Foo
foo2 x = ?rhs

这里很明显什么是Foo,如果我的函数是int -> str,但不是有意的Foo,那就很清楚了

一种方法是

Foo = Callable[[int], str]


def _foo1(x: int) -> str:
    ...

foo1 : Foo = _foo1

但我想找到一种更自然地处理文档的方法,并且不需要(某种)复制


Tags: 方法函数代码键入foodeftypeint