add ABC to the glossary

This commit is contained in:
Benjamin Peterson 2008-07-01 23:33:06 +00:00
parent aa76d77e2b
commit aac51b8a69
2 changed files with 16 additions and 7 deletions

View File

@ -24,6 +24,14 @@ Glossary
2to3 is available in the standard library as :mod:`lib2to3`; a standalone 2to3 is available in the standard library as :mod:`lib2to3`; a standalone
entry point is provided as :file:`Tools/scripts/2to3`. entry point is provided as :file:`Tools/scripts/2to3`.
Abstract Base Class
Abstract Base Classes (abbreviated ABCs) complement :term:`duck-typing` by
providing a way to define interfaces when other techniques like :func:`hasattr`
would be clumsy. Python comes with many builtin ABCs for data structures
(in the :mod:`collections` module), numbers (in the :mod:`numbers`
module), and streams (in the :mod:`io` module). You can create your own
ABC with the :mod:`abc` module.
argument argument
A value passed to a function or method, assigned to a name local to A value passed to a function or method, assigned to a name local to
the body. A function or method may have both positional arguments and the body. A function or method may have both positional arguments and
@ -123,8 +131,9 @@ Glossary
must be a duck.") By emphasizing interfaces rather than specific types, must be a duck.") By emphasizing interfaces rather than specific types,
well-designed code improves its flexibility by allowing polymorphic well-designed code improves its flexibility by allowing polymorphic
substitution. Duck-typing avoids tests using :func:`type` or substitution. Duck-typing avoids tests using :func:`type` or
:func:`isinstance`. Instead, it typically employs :func:`hasattr` tests or :func:`isinstance`. (Note, however, that duck-typing can be complemented
:term:`EAFP` programming. with abstract base classes.) Instead, it typically employs :func:`hasattr`
tests or :term:`EAFP` programming.
EAFP EAFP
Easier to ask for forgiveness than permission. This common Python coding Easier to ask for forgiveness than permission. This common Python coding

View File

@ -9,10 +9,10 @@
.. versionadded:: 2.6 .. versionadded:: 2.6
This module provides the infrastructure for defining abstract base classes This module provides the infrastructure for defining :term:`abstract base
(ABCs) in Python, as outlined in :pep:`3119`; see the PEP for why this was added classes` (ABCs) in Python, as outlined in :pep:`3119`; see the PEP for why this
to Python. (See also :pep:`3141` and the :mod:`numbers` module regarding a type was added to Python. (See also :pep:`3141` and the :mod:`numbers` module
hierarchy for numbers based on ABCs.) regarding a type hierarchy for numbers based on ABCs.)
The :mod:`collections` module has some concrete classes that derive from The :mod:`collections` module has some concrete classes that derive from
ABCs; these can, of course, be further derived. In addition the ABCs; these can, of course, be further derived. In addition the