[Python-Dev] defaultdict and on_missing() (original) (raw)
Raymond Hettinger python at rcn.com
Wed Feb 22 17:20:44 CET 2006
- Previous message: [Python-Dev] defaultdict and on_missing()
- Next message: [Python-Dev] defaultdict and on_missing()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
[Guido van Rossum"]
If we removed onmissing() from dict, we'd have to override getitem in defaultdict (regardless of whether we give defaultdict an onmissing() hook or in-line it).
You have another option. Keep your current modifications to dict.getitem but do not include dict.on_missing(). Let it only be called in a subclass IF it is defined; otherwise, raise KeyError.
That keeps me happy since the basic dict API won't show on_missing(), but it still allows a user to attach an on_missing method to a dict subclass when or if needed. I think all your test cases would still pass without modification. This is approach is not much different than for other magic methods which kick-in if defined or revert to a default behavior if not.
My core concern is to keep the dict API clean as a whistle.
Raymond
- Previous message: [Python-Dev] defaultdict and on_missing()
- Next message: [Python-Dev] defaultdict and on_missing()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]