一个对象可以在没有指定输入参数和返回值的情况下具有“ Callable”类型的提示吗?

时间:2019-11-08 01:04:30

标签: python python-3.x type-hinting

以下代码...

import typing
func:typing.Callable[[int, float], str]

func注释为可接受的两个输入。这两个输入是intfloat。它还表明返回值是一个字符串。

是否可以在未指定输入参数类型或输出类型的情况下将提示内容键入为可调用项?

例如:

def decorator(f:Callable):
    def _(*args, **kwargs)
        r = f(*map(str, args), **kwargs)
        return r
    return _

1 个答案:

答案 0 :(得分:0)

typing模块明确声明可以使用...代替签名,以为返回类型似乎是强制性的。

  

通过用文字省略号代替类型提示Callable[..., ReturnType]中的参数列表,可以声明可调用对象的返回类型而无需指定调用签名。

Callable[..., Any]似乎等同于您请求的Callable注释。