[Python-3000] super(): issues [Was: Removing 'self' from method definitions]
Giovanni Bajo
rasky at develer.com
Tue Apr 18 02:57:44 CEST 2006
Greg Ewing <greg.ewing at canterbury.ac.nz> 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/
Giovanni Bajo
More information about the Python-3000
mailing list