abc :: ABCMeta :: Class ABCMeta
[hide private]

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]
check if an object is an instance
__instancecheck__(cls, instance)
Override for isinstance(instance, cls).
check if a class is a subclass
__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 = 10
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: check if an object is an instance
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: check if a class is a subclass
Overrides: type.__subclasscheck__