Inconsistency between dict() and collections.OrderedDict() methods.
greg.ewing at canterbury.ac.nz
Sat Apr 29 19:52:35 EDT 2017
> That's one of the points I'm trying to make - why is it harder than it
> needs to be to do something this simple?
The built-in dict class is used internally to implement
various namespaces (module, class, instance, etc.), so it
needs to be extremely efficient. Funnelling all updates
through a single method would be unacceptable.
This does make it harder to override behaviour in a
subclass, but that's always a tricky proposition that
relies on knowing a lot about implementation details of
the class. If a particular method isn't documented as
being a hook intended for overriding, you can't make
> The other is that the documentation of collections.OrderedDict seems to
> be lacking (it is talking in terms of being a "dict" subclass, but it
> actually isn't one).
The docs probably mean to say that it has the same interface
as a dict, not that it's necessarily implemented as a
subclass of dict. Nevertheless, it could actually be a
dict subclass that overrides all the necessary methods.
Either way, its behaviour under subclassing is not spelled
More information about the Python-list