[Python-Dev] Let's get rid of unbound methods
Glyph Lefkowitz
glyph at divmod.com
Wed Jan 5 16:37:16 CET 2005
On Tue, 2005-01-04 at 22:12 -0500, Bob Ippolito wrote:
> If you have a class hierarchy where this is a problem, it's probably
> pretty fragile to begin with, and you should think about making it
> simpler.
I agree with James's rant almost entirely, but I like super() anyway. I
think it is an indication not of a new weakness of super(), but of a
long-standing weakness of __init__.
One approach I have taken in order to avoid copiously over-documenting
every super() using class is to decouple different phases of
initialization by making __init__ as simple as possible (setting a few
attributes, resisting the temptation to calculate things), and then
providing class methods like '.fromString' or '.forUnserialize' that
create instances that have been completely constructed for a particular
purpose. That way the signatures are much more likely to line up across
inheritance hierarchies. Perhaps this should be a suggested "best
practice" when using super() as well?
More information about the Python-Dev
mailing list