在Python中导出TypeScript类型函数

13 浏览
0 Comments

在Python中导出TypeScript类型函数

我如何将变量的类型提示指定为函数类型?没有typing.Function,我在相关的PEP“PEP 483”中也找不到任何信息。

admin 更改状态以发布 2023年5月22日
0
0 Comments

另一个有趣的点要注意的是你可以使用内置函数 type() 来获取内置函数的类型并使用它。所以你可以有类似

def f(my_function: type(abs)) -> int:
    return my_function(100)

这样的形式或其他形式。

0
0 Comments

正如@jonrsharpe在评论中所指出的,可以使用typing.Callable实现此功能:

from typing import Callable
def my_function(func: Callable):

注意: 单独使用Callable等同于Callable[..., Any]
这种Callable接收任意数量和类型的参数 (...),并返回任意类型的值 (Any)。 如果这太不受约束了,您也可以指定输入参数列表和返回类型的类型。

例如,给定:

def sum(a: int, b: int) -> int: return a+b

对应的注释如下:

Callable[[int, int], int]

也就是说,参数在外部订阅中表示为第二个元素的返回类型。通常:

Callable[[ParamType1, ParamType2, .., ParamTypeN], ReturnType]

0