]> granicus.if.org Git - python/commitdiff
Record operator deprecations in docs.
authorRaymond Hettinger <python@rcn.com>
Tue, 3 Feb 2009 03:18:14 +0000 (03:18 +0000)
committerRaymond Hettinger <python@rcn.com>
Tue, 3 Feb 2009 03:18:14 +0000 (03:18 +0000)
Doc/library/operator.rst

index dc7ad37da57e98d6c049b58314331fb0e7649444..00945aa4ad7c5e0f5100358227525fef88e9d99c 100644 (file)
@@ -269,6 +269,9 @@ Operations which work with sequences include:
 .. function:: repeat(a, b)
               __repeat__(a, b)
 
+   .. deprecated:: 2.7
+      Use :func:`__mul__` instead.
+
    Return ``a * b`` where *a* is a sequence and *b* is an integer.
 
 
@@ -387,6 +390,9 @@ example, the :term:`statement` ``x += y`` is equivalent to
 .. function:: irepeat(a, b)
               __irepeat__(a, b)
 
+   .. deprecated:: 2.7
+      Use :func:`__imul__` instead.
+
    ``a = irepeat(a, b)`` is equivalent to ``a *= b`` where *a* is a sequence and
    *b* is an integer.
 
@@ -427,33 +433,14 @@ example, the :term:`statement` ``x += y`` is equivalent to
 
 
 The :mod:`operator` module also defines a few predicates to test the type of
-objects.
-
-.. note::
-
-   Be careful not to misinterpret the results of these functions; only
-   :func:`isCallable` has any measure of reliability with instance objects.
-   For example:
-
-      >>> class C:
-      ...     pass
-      ...
-      >>> import operator
-      >>> obj = C()
-      >>> operator.isMappingType(obj)
-      True
-
-.. note::
-
-   Python 3 is expected to introduce abstract base classes for
-   collection types, so it should be possible to write, for example,
-   ``isinstance(obj, collections.Mapping)`` and ``isinstance(obj,
-   collections.Sequence)``.
+objects; however, these are not all reliable.  It is preferable to test
+abstract base classes instead (see :mod:`collections` and
+:mod:`numbers` for details).
 
 .. function:: isCallable(obj)
 
    .. deprecated:: 2.0
-      Use the :func:`callable` built-in function instead.
+      Use ``isinstance(x, collections.Callable)`` instead.
 
    Returns true if the object *obj* can be called like a function, otherwise it
    returns false.  True is returned for functions, bound and unbound methods, class
@@ -462,6 +449,9 @@ objects.
 
 .. function:: isMappingType(obj)
 
+   .. deprecated:: 2.7
+      Use ``isinstance(x, collections.Mapping)`` instead.
+
    Returns true if the object *obj* supports the mapping interface. This is true for
    dictionaries and all instance objects defining :meth:`__getitem__`.
 
@@ -474,6 +464,9 @@ objects.
 
 .. function:: isNumberType(obj)
 
+   .. deprecated:: 2.7
+      Use ``isinstance(x, numbers.Number)`` instead.
+
    Returns true if the object *obj* represents a number.  This is true for all
    numeric types implemented in C.
 
@@ -486,6 +479,9 @@ objects.
 
 .. function:: isSequenceType(obj)
 
+   .. deprecated:: 2.7
+      Use ``isinstance(x, collections.Sequence)`` instead.
+
    Returns true if the object *obj* supports the sequence protocol. This returns true
    for all objects which define sequence methods in C, and for all instance objects
    defining :meth:`__getitem__`.