如何在我的类型提示中指定函数类型?
如何在我的类型提示中指定函数类型?
我怎样指定变量的类型提示为函数类型?没有typing.Function
,并且我在相关的PEP PEP 483 中找不到任何东西。
admin 更改状态以发布 2023年5月20日
如@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]