_abcoll
index
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_abcoll.py
Module Docs

Abstract Base Classes (ABCs) for collections, according to PEP 3119.
 
DON'T USE THIS MODULE DIRECTLY!  The classes here should be imported
via collections; they are defined here only to alleviate certain
bootstrapping issues.  Unit tests are in test_collections.

 
Modules
       
sys

 
Classes
       
__builtin__.object
Callable
Container
Hashable
Iterable
Iterator
Sized
Mapping(Sized, Iterable, Container)
MutableMapping
MappingView
ItemsView(MappingView, Set)
KeysView(MappingView, Set)
ValuesView
Sequence(Sized, Iterable, Container)
MutableSequence
Set(Sized, Iterable, Container)
MutableSet

 
class Callable(__builtin__.object)
     Methods defined here:
__call__(self, *args, **kwds)

Class methods defined here:
__subclasshook__(cls, C) from abc.ABCMeta

Data descriptors defined here:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes defined here:
__abstractmethods__ = frozenset(['__call__'])
__metaclass__ = <class 'abc.ABCMeta'>
Metaclass for defining Abstract Base Classes (ABCs).
 
Use this metaclass to create an ABC.  An ABC can be subclassed
directly, and then acts as a mix-in class.  You can also register
unrelated concrete classes (even built-in classes) and unrelated
ABCs as 'virtual subclasses' -- these and their descendants will
be considered subclasses of the registering ABC by the built-in
issubclass() function, but the registering ABC won't show up in
their MRO (Method Resolution Order) nor will method
implementations defined by the registering ABC be callable (not
even via super()).

 
class Container(__builtin__.object)
     Methods defined here:
__contains__(self, x)

Class methods defined here:
__subclasshook__(cls, C) from abc.ABCMeta

Data descriptors defined here:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes defined here:
__abstractmethods__ = frozenset(['__contains__'])
__metaclass__ = <class 'abc.ABCMeta'>
Metaclass for defining Abstract Base Classes (ABCs).
 
Use this metaclass to create an ABC.  An ABC can be subclassed
directly, and then acts as a mix-in class.  You can also register
unrelated concrete classes (even built-in classes) and unrelated
ABCs as 'virtual subclasses' -- these and their descendants will
be considered subclasses of the registering ABC by the built-in
issubclass() function, but the registering ABC won't show up in
their MRO (Method Resolution Order) nor will method
implementations defined by the registering ABC be callable (not
even via super()).

 
class Hashable(__builtin__.object)
     Methods defined here:
__hash__(self)

Class methods defined here:
__subclasshook__(cls, C) from abc.ABCMeta

Data descriptors defined here:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes defined here:
__abstractmethods__ = frozenset(['__hash__'])
__metaclass__ = <class 'abc.ABCMeta'>
Metaclass for defining Abstract Base Classes (ABCs).
 
Use this metaclass to create an ABC.  An ABC can be subclassed
directly, and then acts as a mix-in class.  You can also register
unrelated concrete classes (even built-in classes) and unrelated
ABCs as 'virtual subclasses' -- these and their descendants will
be considered subclasses of the registering ABC by the built-in
issubclass() function, but the registering ABC won't show up in
their MRO (Method Resolution Order) nor will method
implementations defined by the registering ABC be callable (not
even via super()).

 
class ItemsView(MappingView, Set)
    
Method resolution order:
ItemsView
MappingView
Set
Sized
Iterable
Container
__builtin__.object

Methods defined here:
__contains__(self, item)
__iter__(self)

Data and other attributes defined here:
__abstractmethods__ = frozenset([])

Methods inherited from MappingView:
__init__(self, mapping)
__len__(self)
__repr__(self)

Methods inherited from Set:
__and__(self, other)
__eq__(self, other)
__ge__(self, other)
__gt__(self, other)
__le__(self, other)
__lt__(self, other)
__ne__(self, other)
__or__(self, other)
__rand__ = __and__(self, other)
__ror__ = __or__(self, other)
__rsub__(self, other)
__rxor__ = __xor__(self, other)
__sub__(self, other)
__xor__(self, other)
isdisjoint(self, other)
Return True if two sets have a null intersection.

Data and other attributes inherited from Set:
__hash__ = None

Class methods inherited from Sized:
__subclasshook__(cls, C) from abc.ABCMeta

Data descriptors inherited from Sized:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from Sized:
__metaclass__ = <class 'abc.ABCMeta'>
Metaclass for defining Abstract Base Classes (ABCs).
 
Use this metaclass to create an ABC.  An ABC can be subclassed
directly, and then acts as a mix-in class.  You can also register
unrelated concrete classes (even built-in classes) and unrelated
ABCs as 'virtual subclasses' -- these and their descendants will
be considered subclasses of the registering ABC by the built-in
issubclass() function, but the registering ABC won't show up in
their MRO (Method Resolution Order) nor will method
implementations defined by the registering ABC be callable (not
even via super()).

 
class Iterable(__builtin__.object)
     Methods defined here:
__iter__(self)

Class methods defined here:
__subclasshook__(cls, C) from abc.ABCMeta

Data descriptors defined here:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes defined here:
__abstractmethods__ = frozenset(['__iter__'])
__metaclass__ = <class 'abc.ABCMeta'>
Metaclass for defining Abstract Base Classes (ABCs).
 
Use this metaclass to create an ABC.  An ABC can be subclassed
directly, and then acts as a mix-in class.  You can also register
unrelated concrete classes (even built-in classes) and unrelated
ABCs as 'virtual subclasses' -- these and their descendants will
be considered subclasses of the registering ABC by the built-in
issubclass() function, but the registering ABC won't show up in
their MRO (Method Resolution Order) nor will method
implementations defined by the registering ABC be callable (not
even via super()).

 
class Iterator(Iterable)
    
Method resolution order:
Iterator
Iterable
__builtin__.object

Methods defined here:
__iter__(self)
next(self)
Return the next item from the iterator. When exhausted, raise StopIteration

Class methods defined here:
__subclasshook__(cls, C) from abc.ABCMeta

Data and other attributes defined here:
__abstractmethods__ = frozenset(['next'])

Data descriptors inherited from Iterable:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from Iterable:
__metaclass__ = <class 'abc.ABCMeta'>
Metaclass for defining Abstract Base Classes (ABCs).
 
Use this metaclass to create an ABC.  An ABC can be subclassed
directly, and then acts as a mix-in class.  You can also register
unrelated concrete classes (even built-in classes) and unrelated
ABCs as 'virtual subclasses' -- these and their descendants will
be considered subclasses of the registering ABC by the built-in
issubclass() function, but the registering ABC won't show up in
their MRO (Method Resolution Order) nor will method
implementations defined by the registering ABC be callable (not
even via super()).

 
class KeysView(MappingView, Set)
    
Method resolution order:
KeysView
MappingView
Set
Sized
Iterable
Container
__builtin__.object

Methods defined here:
__contains__(self, key)
__iter__(self)

Data and other attributes defined here:
__abstractmethods__ = frozenset([])

Methods inherited from MappingView:
__init__(self, mapping)
__len__(self)
__repr__(self)

Methods inherited from Set:
__and__(self, other)
__eq__(self, other)
__ge__(self, other)
__gt__(self, other)
__le__(self, other)
__lt__(self, other)
__ne__(self, other)
__or__(self, other)
__rand__ = __and__(self, other)
__ror__ = __or__(self, other)
__rsub__(self, other)
__rxor__ = __xor__(self, other)
__sub__(self, other)
__xor__(self, other)
isdisjoint(self, other)
Return True if two sets have a null intersection.

Data and other attributes inherited from Set:
__hash__ = None

Class methods inherited from Sized:
__subclasshook__(cls, C) from abc.ABCMeta

Data descriptors inherited from Sized:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from Sized:
__metaclass__ = <class 'abc.ABCMeta'>
Metaclass for defining Abstract Base Classes (ABCs).
 
Use this metaclass to create an ABC.  An ABC can be subclassed
directly, and then acts as a mix-in class.  You can also register
unrelated concrete classes (even built-in classes) and unrelated
ABCs as 'virtual subclasses' -- these and their descendants will
be considered subclasses of the registering ABC by the built-in
issubclass() function, but the registering ABC won't show up in
their MRO (Method Resolution Order) nor will method
implementations defined by the registering ABC be callable (not
even via super()).

 
class Mapping(Sized, Iterable, Container)
    Mapping is a generic container for associating key/value
pairs.
 
This class provides concrete generic implementations of all
methods except for __getitem__, __iter__, and __len__.
 
 
Method resolution order:
Mapping
Sized
Iterable
Container
__builtin__.object

Methods defined here:
__contains__(self, key)
__eq__(self, other)
__getitem__(self, key)
__ne__(self, other)
get(self, key, default=None)
D.get(k[,d]) -> D[k] if k in D, else d.  d defaults to None.
items(self)
D.items() -> list of D's (key, value) pairs, as 2-tuples
iteritems(self)
D.iteritems() -> an iterator over the (key, value) items of D
iterkeys(self)
D.iterkeys() -> an iterator over the keys of D
itervalues(self)
D.itervalues() -> an iterator over the values of D
keys(self)
D.keys() -> list of D's keys
values(self)
D.values() -> list of D's values

Data and other attributes defined here:
__abstractmethods__ = frozenset(['__getitem__', '__iter__', '__len__'])
__hash__ = None

Methods inherited from Sized:
__len__(self)

Class methods inherited from Sized:
__subclasshook__(cls, C) from abc.ABCMeta

Data descriptors inherited from Sized:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from Sized:
__metaclass__ = <class 'abc.ABCMeta'>
Metaclass for defining Abstract Base Classes (ABCs).
 
Use this metaclass to create an ABC.  An ABC can be subclassed
directly, and then acts as a mix-in class.  You can also register
unrelated concrete classes (even built-in classes) and unrelated
ABCs as 'virtual subclasses' -- these and their descendants will
be considered subclasses of the registering ABC by the built-in
issubclass() function, but the registering ABC won't show up in
their MRO (Method Resolution Order) nor will method
implementations defined by the registering ABC be callable (not
even via super()).

Methods inherited from Iterable:
__iter__(self)

 
class MappingView(Sized)
    
Method resolution order:
MappingView
Sized
__builtin__.object

Methods defined here:
__init__(self, mapping)
__len__(self)
__repr__(self)

Data and other attributes defined here:
__abstractmethods__ = frozenset([])

Class methods inherited from Sized:
__subclasshook__(cls, C) from abc.ABCMeta

Data descriptors inherited from Sized:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from Sized:
__metaclass__ = <class 'abc.ABCMeta'>
Metaclass for defining Abstract Base Classes (ABCs).
 
Use this metaclass to create an ABC.  An ABC can be subclassed
directly, and then acts as a mix-in class.  You can also register
unrelated concrete classes (even built-in classes) and unrelated
ABCs as 'virtual subclasses' -- these and their descendants will
be considered subclasses of the registering ABC by the built-in
issubclass() function, but the registering ABC won't show up in
their MRO (Method Resolution Order) nor will method
implementations defined by the registering ABC be callable (not
even via super()).

 
class MutableMapping(Mapping)
    MutableMapping is a generic container for associating
key/value pairs.
 
This class provides concrete generic implementations of all
methods except for __getitem__, __setitem__, __delitem__,
__iter__, and __len__.
 
 
Method resolution order:
MutableMapping
Mapping
Sized
Iterable
Container
__builtin__.object

Methods defined here:
__delitem__(self, key)
__setitem__(self, key, value)
clear(self)
D.clear() -> None.  Remove all items from D.
pop(self, key, default=<object object>)
D.pop(k[,d]) -> v, remove specified key and return the corresponding value.
If key is not found, d is returned if given, otherwise KeyError is raised.
popitem(self)
D.popitem() -> (k, v), remove and return some (key, value) pair
as a 2-tuple; but raise KeyError if D is empty.
setdefault(self, key, default=None)
D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D
update(*args, **kwds)
D.update([E, ]**F) -> None.  Update D from mapping/iterable E and F.
If E present and has a .keys() method, does:     for k in E: D[k] = E[k]
If E present and lacks .keys() method, does:     for (k, v) in E: D[k] = v
In either case, this is followed by: for k, v in F.items(): D[k] = v

Data and other attributes defined here:
__abstractmethods__ = frozenset(['__delitem__', '__getitem__', '__iter__', '__len__', '__setitem__'])

Methods inherited from Mapping:
__contains__(self, key)
__eq__(self, other)
__getitem__(self, key)
__ne__(self, other)
get(self, key, default=None)
D.get(k[,d]) -> D[k] if k in D, else d.  d defaults to None.
items(self)
D.items() -> list of D's (key, value) pairs, as 2-tuples
iteritems(self)
D.iteritems() -> an iterator over the (key, value) items of D
iterkeys(self)
D.iterkeys() -> an iterator over the keys of D
itervalues(self)
D.itervalues() -> an iterator over the values of D
keys(self)
D.keys() -> list of D's keys
values(self)
D.values() -> list of D's values

Data and other attributes inherited from Mapping:
__hash__ = None

Methods inherited from Sized:
__len__(self)

Class methods inherited from Sized:
__subclasshook__(cls, C) from abc.ABCMeta

Data descriptors inherited from Sized:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from Sized:
__metaclass__ = <class 'abc.ABCMeta'>
Metaclass for defining Abstract Base Classes (ABCs).
 
Use this metaclass to create an ABC.  An ABC can be subclassed
directly, and then acts as a mix-in class.  You can also register
unrelated concrete classes (even built-in classes) and unrelated
ABCs as 'virtual subclasses' -- these and their descendants will
be considered subclasses of the registering ABC by the built-in
issubclass() function, but the registering ABC won't show up in
their MRO (Method Resolution Order) nor will method
implementations defined by the registering ABC be callable (not
even via super()).

Methods inherited from Iterable:
__iter__(self)

 
class MutableSequence(Sequence)
    All the operations on a read-only sequence.
 
Concrete subclasses must provide __new__ or __init__,
__getitem__, __setitem__, __delitem__, __len__, and insert().
 
 
Method resolution order:
MutableSequence
Sequence
Sized
Iterable
Container
__builtin__.object

Methods defined here:
__delitem__(self, index)
__iadd__(self, values)
__setitem__(self, index, value)
append(self, value)
S.append(object) -- append object to the end of the sequence
extend(self, values)
S.extend(iterable) -- extend sequence by appending elements from the iterable
insert(self, index, value)
S.insert(index, object) -- insert object before index
pop(self, index=-1)
S.pop([index]) -> item -- remove and return item at index (default last).
Raise IndexError if list is empty or index is out of range.
remove(self, value)
S.remove(value) -- remove first occurrence of value.
Raise ValueError if the value is not present.
reverse(self)
S.reverse() -- reverse *IN PLACE*

Data and other attributes defined here:
__abstractmethods__ = frozenset(['__delitem__', '__getitem__', '__len__', '__setitem__', 'insert'])

Methods inherited from Sequence:
__contains__(self, value)
__getitem__(self, index)
__iter__(self)
__reversed__(self)
count(self, value)
S.count(value) -> integer -- return number of occurrences of value
index(self, value)
S.index(value) -> integer -- return first index of value.
Raises ValueError if the value is not present.

Methods inherited from Sized:
__len__(self)

Class methods inherited from Sized:
__subclasshook__(cls, C) from abc.ABCMeta

Data descriptors inherited from Sized:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from Sized:
__metaclass__ = <class 'abc.ABCMeta'>
Metaclass for defining Abstract Base Classes (ABCs).
 
Use this metaclass to create an ABC.  An ABC can be subclassed
directly, and then acts as a mix-in class.  You can also register
unrelated concrete classes (even built-in classes) and unrelated
ABCs as 'virtual subclasses' -- these and their descendants will
be considered subclasses of the registering ABC by the built-in
issubclass() function, but the registering ABC won't show up in
their MRO (Method Resolution Order) nor will method
implementations defined by the registering ABC be callable (not
even via super()).

 
class MutableSet(Set)
    A mutable set is a finite, iterable container.
 
This class provides concrete generic implementations of all
methods except for __contains__, __iter__, __len__,
add(), and discard().
 
To override the comparisons (presumably for speed, as the
semantics are fixed), all you have to do is redefine __le__ and
then the other operations will automatically follow suit.
 
 
Method resolution order:
MutableSet
Set
Sized
Iterable
Container
__builtin__.object

Methods defined here:
__iand__(self, it)
__ior__(self, it)
__isub__(self, it)
__ixor__(self, it)
add(self, value)
Add an element.
clear(self)
This is slow (creates N new iterators!) but effective.
discard(self, value)
Remove an element.  Do not raise an exception if absent.
pop(self)
Return the popped value.  Raise KeyError if empty.
remove(self, value)
Remove an element. If not a member, raise a KeyError.

Data and other attributes defined here:
__abstractmethods__ = frozenset(['__contains__', '__iter__', '__len__', 'add', 'discard'])

Methods inherited from Set:
__and__(self, other)
__eq__(self, other)
__ge__(self, other)
__gt__(self, other)
__le__(self, other)
__lt__(self, other)
__ne__(self, other)
__or__(self, other)
__rand__ = __and__(self, other)
__ror__ = __or__(self, other)
__rsub__(self, other)
__rxor__ = __xor__(self, other)
__sub__(self, other)
__xor__(self, other)
isdisjoint(self, other)
Return True if two sets have a null intersection.

Data and other attributes inherited from Set:
__hash__ = None

Methods inherited from Sized:
__len__(self)

Class methods inherited from Sized:
__subclasshook__(cls, C) from abc.ABCMeta

Data descriptors inherited from Sized:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from Sized:
__metaclass__ = <class 'abc.ABCMeta'>
Metaclass for defining Abstract Base Classes (ABCs).
 
Use this metaclass to create an ABC.  An ABC can be subclassed
directly, and then acts as a mix-in class.  You can also register
unrelated concrete classes (even built-in classes) and unrelated
ABCs as 'virtual subclasses' -- these and their descendants will
be considered subclasses of the registering ABC by the built-in
issubclass() function, but the registering ABC won't show up in
their MRO (Method Resolution Order) nor will method
implementations defined by the registering ABC be callable (not
even via super()).

Methods inherited from Iterable:
__iter__(self)

Methods inherited from Container:
__contains__(self, x)

 
class Sequence(Sized, Iterable, Container)
    All the operations on a read-only sequence.
 
Concrete subclasses must override __new__ or __init__,
__getitem__, and __len__.
 
 
Method resolution order:
Sequence
Sized
Iterable
Container
__builtin__.object

Methods defined here:
__contains__(self, value)
__getitem__(self, index)
__iter__(self)
__reversed__(self)
count(self, value)
S.count(value) -> integer -- return number of occurrences of value
index(self, value)
S.index(value) -> integer -- return first index of value.
Raises ValueError if the value is not present.

Data and other attributes defined here:
__abstractmethods__ = frozenset(['__getitem__', '__len__'])

Methods inherited from Sized:
__len__(self)

Class methods inherited from Sized:
__subclasshook__(cls, C) from abc.ABCMeta

Data descriptors inherited from Sized:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from Sized:
__metaclass__ = <class 'abc.ABCMeta'>
Metaclass for defining Abstract Base Classes (ABCs).
 
Use this metaclass to create an ABC.  An ABC can be subclassed
directly, and then acts as a mix-in class.  You can also register
unrelated concrete classes (even built-in classes) and unrelated
ABCs as 'virtual subclasses' -- these and their descendants will
be considered subclasses of the registering ABC by the built-in
issubclass() function, but the registering ABC won't show up in
their MRO (Method Resolution Order) nor will method
implementations defined by the registering ABC be callable (not
even via super()).

 
class Set(Sized, Iterable, Container)
    A set is a finite, iterable container.
 
This class provides concrete generic implementations of all
methods except for __contains__, __iter__ and __len__.
 
To override the comparisons (presumably for speed, as the
semantics are fixed), redefine __le__ and __ge__,
then the other operations will automatically follow suit.
 
 
Method resolution order:
Set
Sized
Iterable
Container
__builtin__.object

Methods defined here:
__and__(self, other)
__eq__(self, other)
__ge__(self, other)
__gt__(self, other)
__le__(self, other)
__lt__(self, other)
__ne__(self, other)
__or__(self, other)
__rand__ = __and__(self, other)
__ror__ = __or__(self, other)
__rsub__(self, other)
__rxor__ = __xor__(self, other)
__sub__(self, other)
__xor__(self, other)
isdisjoint(self, other)
Return True if two sets have a null intersection.

Data and other attributes defined here:
__abstractmethods__ = frozenset(['__contains__', '__iter__', '__len__'])
__hash__ = None

Methods inherited from Sized:
__len__(self)

Class methods inherited from Sized:
__subclasshook__(cls, C) from abc.ABCMeta

Data descriptors inherited from Sized:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from Sized:
__metaclass__ = <class 'abc.ABCMeta'>
Metaclass for defining Abstract Base Classes (ABCs).
 
Use this metaclass to create an ABC.  An ABC can be subclassed
directly, and then acts as a mix-in class.  You can also register
unrelated concrete classes (even built-in classes) and unrelated
ABCs as 'virtual subclasses' -- these and their descendants will
be considered subclasses of the registering ABC by the built-in
issubclass() function, but the registering ABC won't show up in
their MRO (Method Resolution Order) nor will method
implementations defined by the registering ABC be callable (not
even via super()).

Methods inherited from Iterable:
__iter__(self)

Methods inherited from Container:
__contains__(self, x)

 
class Sized(__builtin__.object)
     Methods defined here:
__len__(self)

Class methods defined here:
__subclasshook__(cls, C) from abc.ABCMeta

Data descriptors defined here:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes defined here:
__abstractmethods__ = frozenset(['__len__'])
__metaclass__ = <class 'abc.ABCMeta'>
Metaclass for defining Abstract Base Classes (ABCs).
 
Use this metaclass to create an ABC.  An ABC can be subclassed
directly, and then acts as a mix-in class.  You can also register
unrelated concrete classes (even built-in classes) and unrelated
ABCs as 'virtual subclasses' -- these and their descendants will
be considered subclasses of the registering ABC by the built-in
issubclass() function, but the registering ABC won't show up in
their MRO (Method Resolution Order) nor will method
implementations defined by the registering ABC be callable (not
even via super()).

 
class ValuesView(MappingView)
    
Method resolution order:
ValuesView
MappingView
Sized
__builtin__.object

Methods defined here:
__contains__(self, value)
__iter__(self)

Data and other attributes defined here:
__abstractmethods__ = frozenset([])

Methods inherited from MappingView:
__init__(self, mapping)
__len__(self)
__repr__(self)

Class methods inherited from Sized:
__subclasshook__(cls, C) from abc.ABCMeta

Data descriptors inherited from Sized:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Data and other attributes inherited from Sized:
__metaclass__ = <class 'abc.ABCMeta'>
Metaclass for defining Abstract Base Classes (ABCs).
 
Use this metaclass to create an ABC.  An ABC can be subclassed
directly, and then acts as a mix-in class.  You can also register
unrelated concrete classes (even built-in classes) and unrelated
ABCs as 'virtual subclasses' -- these and their descendants will
be considered subclasses of the registering ABC by the built-in
issubclass() function, but the registering ABC won't show up in
their MRO (Method Resolution Order) nor will method
implementations defined by the registering ABC be callable (not
even via super()).

 
Data
        __all__ = ['Hashable', 'Iterable', 'Iterator', 'Sized', 'Container', 'Callable', 'Set', 'MutableSet', 'Mapping', 'MutableMapping', 'MappingView', 'KeysView', 'ItemsView', 'ValuesView', 'Sequence', 'MutableSequence']