1

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

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

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

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

注意:我知道用什么来替换 python 中的接口/协议,但我的问题特别是关于如何使适应(甚至是多适配器)成为可能。

4

0 回答 0