New submission from Terry J. Reedy:

Currently, the only index entry for __missing__ is  "__missing__() 
(collections.defaultdict method)".  This entry should probably not exist -- see 
#9536, which inspired this issue.  The method is not mentioned in the 
special-methods doc, and the explanation in the dict doc is not indexed.  Two 
suggestions:

https://docs.python.org/3/reference/datamodel.html#emulating-container-types

After __getitem__ entry, add automatically indexed entry, something like 

object.__missing__(self, key):
   When present in a dict subclass, called by dict.__getitem__ for missing keys.

https://docs.python.org/3/library/stdtypes.html#mapping-types-dict

Before the d[key] paragraph starting "If a subclass of dict defines a method 
__missing__()" add explicit __missing__ index directive.  The last sentence of 
the paragraph

"See collections.Counter for a complete implementation including other methods 
helpful for accumulating and managing tallies."

is confusing because the linked entry makes no mention of __missing__ (as it 
should not).  Change sentence to something like

"There are two stdlib dict subclasses that use (different) __missing__ methods 
as part of their implementation: collections.Counter and 
collections.defaultdict."

I will work on a patch and try to get the markup correct.

----------
assignee: docs@python
components: Documentation
messages: 232279
nosy: docs@python, terry.reedy
priority: normal
severity: normal
stage: needs patch
status: open
title: Improve the doc and indexing of adict.__missing__.
type: behavior
versions: Python 2.7, Python 3.4, Python 3.5

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue23006>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to