mirror of
https://github.com/python/cpython.git
synced 2025-11-13 15:40:05 +00:00
#1582: document __reversed__, patch by Mark Russell.
This commit is contained in:
parent
ec32b6bce7
commit
81de0d24d5
3 changed files with 24 additions and 3 deletions
|
|
@ -158,6 +158,7 @@ docs@python.org), and we'll be glad to correct the problem.
|
||||||
* Jim Roskind
|
* Jim Roskind
|
||||||
* Guido van Rossum
|
* Guido van Rossum
|
||||||
* Donald Wallace Rouse II
|
* Donald Wallace Rouse II
|
||||||
|
* Mark Russell
|
||||||
* Nick Russo
|
* Nick Russo
|
||||||
* Chris Ryland
|
* Chris Ryland
|
||||||
* Constantina S.
|
* Constantina S.
|
||||||
|
|
|
||||||
|
|
@ -977,12 +977,16 @@ available. They are listed here in alphabetical order.
|
||||||
|
|
||||||
.. function:: reversed(seq)
|
.. function:: reversed(seq)
|
||||||
|
|
||||||
Return a reverse :term:`iterator`. *seq* must be an object which supports
|
Return a reverse :term:`iterator`. *seq* must be an object which has
|
||||||
the sequence protocol (the :meth:`__len__` method and the :meth:`__getitem__`
|
a :meth:`__reversed__` method or supports the sequence protocol (the
|
||||||
method with integer arguments starting at ``0``).
|
:meth:`__len__` method and the :meth:`__getitem__` method with integer
|
||||||
|
arguments starting at ``0``).
|
||||||
|
|
||||||
.. versionadded:: 2.4
|
.. versionadded:: 2.4
|
||||||
|
|
||||||
|
.. versionchanged:: 2.6
|
||||||
|
Added the possibility to write a custom :meth:`__reversed__` method.
|
||||||
|
|
||||||
|
|
||||||
.. function:: round(x[, n])
|
.. function:: round(x[, n])
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1796,6 +1796,22 @@ sequences, it should iterate through the values.
|
||||||
Iterator objects also need to implement this method; they are required to return
|
Iterator objects also need to implement this method; they are required to return
|
||||||
themselves. For more information on iterator objects, see :ref:`typeiter`.
|
themselves. For more information on iterator objects, see :ref:`typeiter`.
|
||||||
|
|
||||||
|
|
||||||
|
.. method:: object.__reversed__(self)
|
||||||
|
|
||||||
|
Called (if present) by the :func:`reversed` builtin to implement
|
||||||
|
reverse iteration. It should return a new iterator object that iterates
|
||||||
|
over all the objects in the container in reverse order.
|
||||||
|
|
||||||
|
If the :meth:`__reversed__` method is not provided, the
|
||||||
|
:func:`reversed` builtin will fall back to using the sequence protocol
|
||||||
|
(:meth:`__len__` and :meth:`__getitem__`). Objects should normally
|
||||||
|
only provide :meth:`__reversed__` if they do not support the sequence
|
||||||
|
protocol and an efficient implementation of reverse iteration is possible.
|
||||||
|
|
||||||
|
.. versionadded:: 2.6
|
||||||
|
|
||||||
|
|
||||||
The membership test operators (:keyword:`in` and :keyword:`not in`) are normally
|
The membership test operators (:keyword:`in` and :keyword:`not in`) are normally
|
||||||
implemented as an iteration through a sequence. However, container objects can
|
implemented as an iteration through a sequence. However, container objects can
|
||||||
supply the following special method with a more efficient implementation, which
|
supply the following special method with a more efficient implementation, which
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue