抽象基类Sequence的issubclass

抽象基类Sequence的issubclass,第1张

抽象基类Sequence的issubclass

使用消息来源,卢克!

Sequence
不实现自己的
__subclasshook__
,并且
__subclasshook__
的父项的所有实现
Sequence
都具有如下检查:

class Iterable:    ...    @classmethod    def __subclasshook__(cls, C):        if cls is Iterable:  # <<<< if _hasattr(C, "__iter__"):     return True        return NotImplemented

但是,您可以

register()
将您的班级显式为
Sequence

Sequence.register(S)

至于为什么

Sequence
不实现的原因
__subclasshook__
,请参见问题16728(标题最初是
“ collections.abc.Sequence应该提供__subclasshook__”
)。可以通过说一个序列来概括这个问题,这取决于谁使用它的需要:

许多需要序列算法只需要

__len__
__getitem__
。[…]
collections.abc.Sequence
是一个更加丰富的界面。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5057804.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存