当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python typing.Protocol用法及代码示例


用法:

class typing.Protocol(Generic)

协议类的基类。协议类定义如下:

class Proto(Protocol):
    def meth(self) -> int:
        ...

此类类主要与识别结构子类型(静态duck-typing)的静态类型检查器一起使用,例如:

class C:
    def meth(self) -> int:
        return 0

def func(x: Proto) -> int:
    return x.meth()

func(C())  # Passes static type check

参看PEP 544详情。用装饰的协议类typing.runtime_checkable(稍后说明)充当simple-minded 运行时协议,只检查给定属性的存在,忽略它们的类型签名。

协议类可以是通用的,例如:

class GenProto(Protocol[T]):
    def meth(self) -> T:
        ...

3.8 版中的新函数。

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 typing.Protocol。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。