python-3.x - Python3:静态检查类型。协议类实现
问题描述
我想使用typing.Protocol在我的代码中创建接口,但有一点问题。
PEP 544 抄写员“此外,广泛使用 ABC 可能会带来额外的运行时成本。”
因此,如果一个类不会被标记为某个协议的实现,那么将来代码检查将花费更多时间并且不需要静态类型检查。我发现只有一种方法可以通过类继承语义制作这样的“符号”。但是继承只是从协议中创建一个标准的 ABC 实例,并增加了一些运行时成本。
是否有一种现有的方法可以将此显式表示法仅用于静态类型检查而不用于运行时?
可能是这样的:
...
@implements(MyProtocol)
class MyImplClass:
...
解决方案
推荐阅读
- json - json 包含正确格式的字符串
- json - 具有 React 或 Angular 8 和 typescript 的集成 Rest API (json) BPMN
- html - Position a non-fixed div above a fixed div?
- django - Remove individual ManyToManyRelationship instances through a Django view
- python - How to display whole table in the output in Jupyter Notebook
- c - How to prevent fork from returning twice,
- unity3d - 如何在 Unity 中更改采样率?
- node.js - ts-node: Unexpected token ':'
- laravel - Check Dropdown selected value before running store function in controller Laravel5.7
- javascript - How to execute a script in Mongoose running Mongodb?