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 = `22`

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__