例如,我想写:
def f(g: Callable[[str], A], h: Callable[[A, A], bool]) -> bool:
# do something
其中CCD_ 1可以是类型CCD_。然而,写作:
def f(g: Callable[[str], Any], h: Callable[[Any, Any], bool]) -> bool:
# do something
似乎是误导性的,因为h
没有明确地说它的两个参数必须是相同的类型,并且它必须是与g的结果相同的类型。
我们可以使用typing.TypeVar
s来键入hint this。