[Python-Dev] defaultdict proposal round three
Delaney, Timothy (Tim)
tdelaney at avaya.com
Tue Feb 21 01:19:24 CET 2006
Greg Ewing wrote:
> In other words, just because A inherits from B in
> Python isn't meant to imply that an A is a drop-in
> replacement for a B.
Hmm - this is interesting. I'm not arguing Liskov violations or anything
However, *because* Python uses duck typing, I tend to feel that
subclasses in Python *should* be drop-in replacements. If it's not a
drop-in replacement, then it should probably not subclass, but just use
duck typing (probably by wrapping).
Subclassing implies a stronger relationship to me. Which is why I think
I prefer using a wrapper for a default dict, rather than a subclass.
More information about the Python-Dev