This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Yoshanuikabundi
Recipients Yoshanuikabundi, docs@python
Date 2022-02-21.08:25:45
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1645431945.33.0.392126816255.issue46814@roundup.psfhosted.org>
In-reply-to
Content
The docs for the abc[0] module states "With this class, an abstract base class can be created by simply deriving from ABC", and then gives an example of a class with no contents. This is not sufficient to construct an ABC; an ABC in Python additionally requires at least one abstract method. This can be demonstrated by executing the example code and instantiating it (ABCs cannot be instantiated) or calling the inspect.isabstract() function on it (returns False). The requirement is also (cryptically) explicated in the Implementation paragraph of the "The abc Module: an ABC Support Framework" section of PEP 3119[1]. This requirement of implementing an abstract method is not mentioned in the docs for the abc module or in the module's docstrings. An ABC with no abstract methods is sometimes used to mark a parent class that is not intended to be instantiated on its own, so this limitation of the Python implementation should be documented.

[0] https://docs.python.org/3.11/library/abc.html

[1] https://www.python.org/dev/peps/pep-3119/#the-abc-module-an-abc-support-framework
History
Date User Action Args
2022-02-21 08:25:45Yoshanuikabundisetrecipients: + Yoshanuikabundi, docs@python
2022-02-21 08:25:45Yoshanuikabundisetmessageid: <1645431945.33.0.392126816255.issue46814@roundup.psfhosted.org>
2022-02-21 08:25:45Yoshanuikabundilinkissue46814 messages
2022-02-21 08:25:45Yoshanuikabundicreate