Guido van Rossum wrote: > So here's a new proposal. > > Let's add a generic missing-key handling method to the dict class, as > well as a default_factory slot initialized to None. The implementation > is like this (but in C): > > def on_missing(self, key): > if self.default_factory is not None: > value = self.default_factory() > self[key] = value > return value > raise KeyError(key) > > When __getitem__() (and *only* __getitem__()) finds that the requested > key is not present in the dict, it calls self.on_missing(key) and > returns whatever it returns -- or raises whatever it raises. > __getitem__() doesn't need to raise KeyError any more, that's done by > on_missing().
Will this also work when PyDict_GetItem() does not find the key? Thomas _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com