Giovanni Bajo wrote:
> Greg Ewing <[EMAIL PROTECTED]> wrote:
> 
>> The use case for super() is where you have a chain of
>> methods that are sufficiently compatible that you don't
>> need to know or care which one you're calling next.
>> That's not usually the case with __init__ methods.
> 
> It worked fine for me when I forced my clients (for a specific hierarchy) to
> always pass keyword arguments to __init__. This allowed me to use super()
> succesfully. Of course, Python non-existing support for mandatory keyword
> arguments makes things a little harder than they could be.
> 
> I'll also point people to this page, which contains a very accurate 
> description
> of the issues with super:
> http://fuhm.net/super-harmful/

Hmm, the reference to Dylan's next method (along with a few other comments in 
this thread) makes me believe a magic autosuper() equivalent would really need 
to be based on a thread-local context, rather than any kind of static code 
analysis.

An interesting point is that being able to call the "next method" for generic 
functions has exactly the same problem.

Cheers,
Nick.

-- 
Nick Coghlan   |   [EMAIL PROTECTED]   |   Brisbane, Australia
---------------------------------------------------------------
             http://www.boredomandlaziness.org
_______________________________________________
Python-3000 mailing list
Python-3000@python.org
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe: 
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com

Reply via email to