用法:
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 typing.ParamSpec用法及代码示例
- Python typing.ParamSpecKwargs用法及代码示例
- Python typing.get_type_hints用法及代码示例
- Python typing.Concatenate用法及代码示例
- Python typing.Optional用法及代码示例
- Python typing.Final用法及代码示例
- Python typing.TypedDict.__optional_keys__用法及代码示例
- Python typing.NoReturn用法及代码示例
- Python typing.TypedDict.__total__用法及代码示例
- Python typing.is_typeddict用法及代码示例
- Python typing.TypeVar用法及代码示例
- Python typing.AsyncGenerator用法及代码示例
- Python typing.final用法及代码示例
- Python typing.ClassVar用法及代码示例
- Python typing.Literal用法及代码示例
- Python typing.overload用法及代码示例
- Python typing.TYPE_CHECKING用法及代码示例
- Python typing.TypedDict用法及代码示例
- Python typing.List用法及代码示例
- Python typing.Generic用法及代码示例
注:本文由纯净天空筛选整理自python.org大神的英文原创作品 typing.Protocol。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。