微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python3:静态检查typing.Protocol类实现

如何解决Python3:静态检查typing.Protocol类实现

我想使用 typing.Protocol 在我的代码中创建接口,但有一点问题。

PEP 544 抄写员 “此外,广泛使用 ABC 可能会带来额外的运行成本。”

因此,如果一个类不会被标记为某个协议的实现,那么将来代码检查和静态类型检查将花费更多时间。我发现只有一种方法可以通过类继承语义来制作这样的“符号”。但是继承只是从协议中创建了一个标准的 ABC 实例,并增加了一些运行时成本。

是否有一种现有的方法可以将这种显式表示法仅用于静态类型检查而不用于运行时?

可能是这样的:

...
@implements(MyProtocol)
class MyImplClass:
...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。