abc :: ABCMeta :: Class ABCMeta

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__