无法创建collections.abc.Sequence的实例

时间:2018-12-07 23:19:15

标签: python collections containers mixins abc

在Python文档中检查abstract base classes for containers的表时,我无法创建collections.abc.Sequence实例。我是否错过了类J中的方法,或者文档不完整?

import collections.abc

class A:
    def __contains__(self): pass

class B:
    def __hash__(self): pass

class C:
    def __iter__(self): pass

class D:
    def __iter__(self): pass
    def __next__(self): pass

class E:
    def __reversed__(self): pass
    def __iter__(self): pass

class F:
    def send(self): pass
    def throw(self): pass
    def close(self): pass
    def __iter__(self): pass
    def __next__(self): pass

class G:
    def __len__(self): pass

class H:
    def __call__(self): pass

class I:
    def __contains__(self): pass
    def __iter__(self): pass
    def __len__(self): pass

class J:
    def __getitem__(self): pass
    def __len__(self): pass
    def __contains__(self): pass
    def __iter__(self): pass
    def __reversed__(self): pass
    def index(self): pass
    def count(self): pass

assert isinstance(A(), collections.abc.Container)
assert isinstance(B(), collections.abc.Hashable)
assert isinstance(C(), collections.abc.Iterable)
assert isinstance(D(), collections.abc.Iterator)
assert isinstance(E(), collections.abc.Reversible)
assert isinstance(F(), collections.abc.Generator)
assert isinstance(G(), collections.abc.Sized)
assert isinstance(H(), collections.abc.Callable)
assert isinstance(I(), collections.abc.Collection)
assert isinstance(J(), collections.abc.Sequence)  # this assertion fails

注意:由于函数isinstance似乎没有检查它们,因此我没有刻意关心方法签名和主体。

0 个答案:

没有答案
相关问题