default behavior
John Posner
jjposner at optimum.net
Sat Jul 31 13:31:35 EDT 2010
On 7/31/2010 11:08 AM, Christian Heimes wrote:
> ... All you have to do is subclass dict and implement a
> __missing__ method. See
> http://docs.python.org/library/stdtypes.html?highlight=__missing__#mapping-types-dict
>
Caveat -- there's another description of defaultdict here:
http://docs.python.org/library/collections.html#collections.defaultdict
... and it's bogus. This other description claims that __missing__ is a
method of defaultdict, not of dict.
This might cause considerable confusion, leading the reader to suspect
that __missing__ and default_factory fight it out for the right to
supply a default value. (__missing__ would win -- I tried it.)
The truth, as Christian says above and as Raymond Hettinger recently
pointed out [1], is that __missing__ is used to *define* defaultdict as
a subclass of dict -- it's not used *by* defaultdict.
-John
[1] http://mail.python.org/pipermail/python-list/2010-July/1248896.html
More information about the Python-list
mailing list