[Python-checkins] cpython (merge 3.4 -> default): Merge 3.4

terry.reedy python-checkins at python.org
Thu Dec 11 00:50:55 CET 2014


https://hg.python.org/cpython/rev/dd5491705e5f
changeset: 93822:dd5491705e5f
parent: 93818:0050e770b34c
parent: 93821:31875b244bdf
user: Terry Jan Reedy <tjreedy at udel.edu>
date: Wed Dec 10 18:39:45 2014 -0500
summary:
 Merge 3.4
files:
 Doc/library/stdtypes.rst | 13 ++++++++-----
 Doc/reference/datamodel.rst | 6 ++++++
 Misc/NEWS | 4 ++++
 3 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst
--- a/Doc/library/stdtypes.rst
+++ b/Doc/library/stdtypes.rst
@@ -3761,11 +3761,13 @@
 Return the item of *d* with key *key*. Raises a :exc:`KeyError` if *key* is
 not in the map.
 
- If a subclass of dict defines a method :meth:`__missing__`, if the key *key*
+	 .. index:: __missing__()
+
+ If a subclass of dict defines a method :meth:`__missing__` and *key*
 is not present, the ``d[key]`` operation calls that method with the key *key*
 as argument. The ``d[key]`` operation then returns or raises whatever is
- returned or raised by the ``__missing__(key)`` call if the key is not
- present. No other operations or methods invoke :meth:`__missing__`. If
+ returned or raised by the ``__missing__(key)`` call.
+ No other operations or methods invoke :meth:`__missing__`. If
 :meth:`__missing__` is not defined, :exc:`KeyError` is raised.
 :meth:`__missing__` must be a method; it cannot be an instance variable::
 
@@ -3779,8 +3781,9 @@
 >>> c['red']
 1
 
- See :class:`collections.Counter` for a complete implementation including
- other methods helpful for accumulating and managing tallies.
+ The example above shows part of the implementation of
+ :class:`collections.Counter`. A different ``__missing__`` method is used
+ by :class:`collections.defaultdict`.
 
 .. describe:: d[key] = value
 
diff --git a/Doc/reference/datamodel.rst b/Doc/reference/datamodel.rst
--- a/Doc/reference/datamodel.rst
+++ b/Doc/reference/datamodel.rst
@@ -1904,6 +1904,12 @@
 indexes to allow proper detection of the end of the sequence.
 
 
+.. method:: object.__missing__(self, key)
+
+ Called by :class:`dict`\ .\ :meth:`__getitem__` to implement ``self[key]`` for dict subclasses
+ when key is not in the dictionary.
+
+
 .. method:: object.__setitem__(self, key, value)
 
 Called to implement assignment to ``self[key]``. Same note as for
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -5676,6 +5676,10 @@
 Documentation
 -------------
 
+- Issue #23006: Improve the documentation and indexing of dict.__missing__.
+ Add an entry in the language datamodel special methods section.
+ Revise and index its discussion in the stdtypes mapping/dict section.
+
 - Issue #17701: Improving strftime documentation.
 
 - Issue #18440: Clarify that `hash()` can truncate the value returned from an
-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /