Am 13.12.2012 18:09, schrieb andrew.svetlov:
http://hg.python.org/cpython/rev/9347869d1066 changeset: 80840:9347869d1066 user: Andrew Svetlov
date: Thu Dec 13 19:09:33 2012 +0200 summary: Issue #16049: add abc.ABC helper class. Patch by Bruno Dupuis.
files: Doc/library/abc.rst | 18 ++++++++++++++---- Lib/abc.py | 6 ++++++ Lib/test/test_abc.py | 13 +++++++++++++ Misc/NEWS | 3 +++ 4 files changed, 36 insertions(+), 4 deletions(-)
diff --git a/Doc/library/abc.rst b/Doc/library/abc.rst --- a/Doc/library/abc.rst +++ b/Doc/library/abc.rst @@ -12,9 +12,9 @@ --------------
This module provides the infrastructure for defining :term:`abstract base -classes <abstract base class>` (ABCs) in Python, as outlined in :pep:`3119`; see the PEP for why this -was added to Python. (See also :pep:`3141` and the :mod:`numbers` module -regarding a type hierarchy for numbers based on ABCs.) +classes <abstract base class>` (ABCs) in Python, as outlined in :pep:`3119`; +see the PEP for why this was added to Python. (See also :pep:`3141` and the +:mod:`numbers` module regarding a type hierarchy for numbers based on ABCs.)
The :mod:`collections` module has some concrete classes that derive from ABCs; these can, of course, be further derived. In addition the @@ -23,7 +23,7 @@ hashable or a mapping.
-This module provides the following class: +This module provides the following classes:
.. class:: ABCMeta
@@ -127,6 +127,16 @@ available as a method of ``Foo``, so it is provided separately.
+.. class:: ABC + + A helper class that has :class:`ABCMeta` as metaclass. :class:`ABC` is the + standard class to inherit from in order to create an abstract base class, + avoiding sometimes confusing metaclass usage. + + Note that :class:`ABC` type is still :class:`ABCMeta`, therefore inheriting + from :class:`ABC` requires usual precautions regarding metaclasses usage + as multiple inheritance may lead to metaclass conflicts. +
Needs a versionadded. Georg