Python3.8 类型协议:适配器注册表的任何标准?

问题描述

zope.interface 具有(除其他外)运行时适配器注册表,允许在运行时找到某些接口的合适实现。

现在,python3.8 有 structural subtyping support,但问题是:是否有任何标准库机制来实现至少一些开箱即用的原始运行时适应?换句话说,有一些实例 animal一个接口 IFlying,是否可以查找 IFlying(animal) 的适配器?还是 typing.Protocol 纯粹用于类型检查?

这个问题的动机是:在新代码中继续使用 zope.interface 是否有意义,或者 Typing.Protocol 很快就会过时(至少对于简单的适配器情况)?

我可以看到像 this 这样的意见,它暗示存在一些标准接口支持,但找不到关于如何用 python3.8 或更新的标准库替换适配器注册表的具体示例(缺少写作)一些图书馆在它之上)。

注意:我知道 What to use in replacement of an interface/protocol in python ,但我的问题特别是关于如何使适应(甚至多适配器)成为可能。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)