mirror of https://github.com/python/cpython
Issue 10533: Need example of using __missing__.
This commit is contained in:
parent
0ab10e4600
commit
5254e9700e
|
@ -2117,8 +2117,20 @@ pairs within braces, for example: ``{'jack': 4098, 'sjoerd': 4127}`` or ``{4098:
|
||||||
returned or raised by the ``__missing__(key)`` call if the key is not
|
returned or raised by the ``__missing__(key)`` call if the key is not
|
||||||
present. No other operations or methods invoke :meth:`__missing__`. If
|
present. No other operations or methods invoke :meth:`__missing__`. If
|
||||||
:meth:`__missing__` is not defined, :exc:`KeyError` is raised.
|
:meth:`__missing__` is not defined, :exc:`KeyError` is raised.
|
||||||
:meth:`__missing__` must be a method; it cannot be an instance variable. For
|
:meth:`__missing__` must be a method; it cannot be an instance variable::
|
||||||
an example, see :class:`collections.defaultdict`.
|
|
||||||
|
>>> class Counter(dict):
|
||||||
|
... def __missing__(self, key):
|
||||||
|
... return 0
|
||||||
|
>>> c = Counter()
|
||||||
|
>>> c['red']
|
||||||
|
0
|
||||||
|
>>> c['red'] += 1
|
||||||
|
>>> c['red']
|
||||||
|
1
|
||||||
|
|
||||||
|
See :class:`collections.Counter` for a complete implementation including
|
||||||
|
other methods helpful for accumulating and managing tallies.
|
||||||
|
|
||||||
.. describe:: d[key] = value
|
.. describe:: d[key] = value
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue