]> granicus.if.org Git - python/commitdiff
Improve glossary entry for ABCs.
authorÉric Araujo <merwok@netwok.org>
Sat, 4 Jun 2011 16:42:38 +0000 (18:42 +0200)
committerÉric Araujo <merwok@netwok.org>
Sat, 4 Jun 2011 16:42:38 +0000 (18:42 +0200)
- Rename reST target name for collections ABCs to avoid collisions
- Add link to importlib ABCs (collections, numbers and io ABCs were already
  linked)
- Link to glossary entry from numbers module doc (other modules already do it)

Doc/glossary.rst
Doc/library/abc.rst
Doc/library/collections.rst
Doc/library/numbers.rst

index d14455b468d4ee11e90b199a32039faf736f1784..fa34f2995a0e4436a3609cf9ccc34c0b03d64abd 100644 (file)
@@ -27,12 +27,14 @@ Glossary
       :ref:`2to3-reference`.
 
    abstract base class
-      :ref:`abstract-base-classes` complement :term:`duck-typing` by
+      Abstract base classes complement :term:`duck-typing` by
       providing a way to define interfaces when other techniques like
-      :func:`hasattr` would be clumsy. Python comes with many built-in ABCs for
+      :func:`hasattr` would be clumsy or subtly wrong (for example with
+      :ref:`magic methods <special-lookup>`). Python comes with many built-in 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.
+      :mod:`numbers` module), streams (in the :mod:`io` module), import finders
+      and loaders (in the :mod:`importlib.abc` module).  You can create your own
+      ABCs with the :mod:`abc` module.
 
    argument
       A value passed to a function or method, assigned to a named local
@@ -430,8 +432,8 @@ Glossary
    mapping
       A container object that supports arbitrary key lookups and implements the
       methods specified in the :class:`Mapping` or :class:`MutableMapping`
-      :ref:`abstract base classes <abstract-base-classes>`. Examples include
-      :class:`dict`, :class:`collections.defaultdict`,
+      :ref:`abstract base classes <collections-abstract-base-classes>`.  Examples
+      include :class:`dict`, :class:`collections.defaultdict`,
       :class:`collections.OrderedDict` and :class:`collections.Counter`.
 
    metaclass
index 9fadbd234e337b1d0b350e75e1f09b5fd3c15e8b..fa34a6f60783f9cb5975b799e889d96f4596a4c7 100644 (file)
@@ -12,7 +12,7 @@
 --------------
 
 This module provides the infrastructure for defining an :term:`abstract base
-class` (ABCs) in Python, as outlined in :pep:`3119`; see the PEP for why this
+class` (ABC) 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.)
 
index 1a41a5080551730cece0b78b6bd5dfcc6acc7859..0b45fe123dff3154abb6e0e657816cae6ce57cf5 100644 (file)
@@ -33,8 +33,9 @@ Python's general purpose built-in containers, :class:`dict`, :class:`list`,
 =====================   ====================================================================
 
 In addition to the concrete container classes, the collections module provides
-:ref:`abstract-base-classes` that can be used to test whether a class provides a
-particular interface, for example, whether it is hashable or a mapping.
+:ref:`abstract base classes <collections-abstract-base-classes>` that can be
+used to test whether a class provides a particular interface, for example,
+whether it is hashable or a mapping.
 
 
 :class:`Counter` objects
@@ -984,7 +985,7 @@ attribute.
    subclass) or an arbitrary sequence which can be converted into a string using
    the built-in :func:`str` function.
 
-.. _abstract-base-classes:
+.. _collections-abstract-base-classes:
 
 ABCs - abstract base classes
 ----------------------------
index df8d52168ca706ba2d5f839f59d04e7b3aa80e1f..ad33396f107e65a33c60818adf739902702aeb41 100644 (file)
@@ -5,9 +5,9 @@
    :synopsis: Numeric abstract base classes (Complex, Real, Integral, etc.).
 
 
-The :mod:`numbers` module (:pep:`3141`) defines a hierarchy of numeric abstract
-base classes which progressively define more operations.  None of the types
-defined in this module can be instantiated.
+The :mod:`numbers` module (:pep:`3141`) defines a hierarchy of numeric
+:term:`abstract base classes <abstract base class>` which progressively define
+more operations.  None of the types defined in this module can be instantiated.
 
 
 .. class:: Number