How to properly override the default factory of defaultdict?
Gregory Ewing
greg.ewing at canterbury.ac.nz
Mon Feb 15 03:28:28 EST 2016
Herman wrote:
> I want to pass in the key to the default_factory of defaultdict and I found
> that defaultdict somehow can intercept my call to dict.__getitem__(self,
> key),
What's happening here is that defaultdict doesn't actually
override __getitem__ at all. Instead, it overrides __missing__,
which gets called by the standard dict's __getitem__ for a
missing key.
As Steven said, you don't need a defaultdict here at all,
just a dict subclass that defines __missing__ the way you
want.
--
Greg
More information about the Python-list
mailing list