__missing__(key)
If the default_factory
attribute is None
, this raises a KeyError
exception with the key as argument.
If default_factory
is not None
, it is called without arguments to provide a default value for the given key, this value is inserted in the dictionary for the key, and returned.
If calling default_factory
raises an exception this exception is propagated unchanged.
This method is called by the __getitem__()
method of the dict
class when the requested key is not found; whatever it returns or raises is then returned or raised by __getitem__()
.
Note that __missing__()
is not called for any operations besides __getitem__()
. This means that get()
will, like normal dictionaries, return None
as a default rather than using default_factory
.
Please login to continue.