The abc module
The core method of creating ABCs is defined in the abc module. This module includes the ABCMeta class that provides several features.
First, the ABCMeta class assures that abstract classes can't be instantiated. A subclass that provides all of the required definitions, however, can be instantiated. The metaclass will invoke the abstract class's special method, __subclasshook__(), as a part of processing __new__(). If that method returns NotImplemented, then an exception will be raised to show that the class didn't define all the required methods.
Second, it provides definitions for __instancecheck__() and __subclasscheck__(). These special methods implement the isinstance() and issubclass() built-in functions. They provide the checks ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access