abc :: ABCMeta :: Class ABCMeta |
[hide private]
[frames] | no frames]

# Type ABCMeta

    object --+
             |
          type --+
                 |
                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()).

Instance Methods | [hide private]
bool |
__instancecheck__(cls, instance) Override for isinstance(instance, cls). |
bool |
__subclasscheck__(cls, subclass) Override for issubclass(subclass, cls). |
_dump_registry(cls, file=None) Debug helper to print the ABC registry. |
register(cls, subclass) Register a virtual subclass of an ABC. |
Inherited from `type`: `__call__`, `__delattr__`, `__eq__`, `__ge__`, `__getattribute__`, `__gt__`, `__hash__`, `__init__`, `__le__`, `__lt__`, `__ne__`, `__repr__`, `__setattr__`, `__subclasses__`, `mro` Inherited from `object`: `__format__`, `__reduce__`, `__reduce_ex__`, `__sizeof__`, `__str__`, `__subclasshook__`

Static Methods | [hide private]
a new object with type S, a subtype of T |
__new__(mcls, name, bases, namespace) |

Class Variables | [hide private]
| _abc_invalidation_counter = `21`

Properties | [hide private]
Inherited from `type`: `__abstractmethods__`, `__base__`, `__bases__`, `__basicsize__`, `__dictoffset__`, `__flags__`, `__itemsize__`, `__mro__`, `__name__`, `__weakrefoffset__` Inherited from `object`: `__class__`

Method Details | [hide private]

### __instancecheck__(cls, instance) |
Override for isinstance(instance, cls). Returns: bool Overrides: type.__instancecheck__

### __new__(mcls, name, bases, namespace) Static Method |
Returns: a new object with type S, a subtype of T Overrides: object.__new__ (inherited documentation)

### __subclasscheck__(cls, subclass) |
Override for issubclass(subclass, cls). Returns: bool Overrides: type.__subclasscheck__