abc :: ABCMeta :: Class ABCMeta |
[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
bool |
__instancecheck__(cls, instance) Override for isinstance(instance, cls). |
bool |
__subclasscheck__(cls, subclass) Override for issubclass(subclass, cls). |
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
a new object with type S, a subtype of T |
__new__(mcls, name, bases, namespace) |

Properties
Inherited from `type`: `__abstractmethods__`, `__base__`, `__bases__`, `__basicsize__`, `__dictoffset__`, `__flags__`, `__itemsize__`, `__mro__`, `__name__`, `__weakrefoffset__` Inherited from `object`: `__class__`

Method Details

### __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__