alex23 wrote:
Jean-Michel Pichavant <jeanmic...@sequans.com> wrote:
a possible answer:
- explicit >> implicit

I'm not sure this is the correct one though :)

To me, the explicit reference to the base class violates DRY. It also
means you need to manually change all such references should the base
class ever change, something that using super() avoids.
I found the correct answer (http://www.artima.com/weblogs/viewpost.jsp?thread=236275)

" super is perhaps the trickiest Python construct: this series aims to unveil its secrets"

"Having established that super cannot return the mythical superclass, we may ask ourselves what the hell it is returning ;) The truth is that super returns proxy objects.Informally speaking, a proxy is an object with the ability to dispatch to methods of other objects via delegation. Technically, super is a class overriding the __getattribute__ method. Instances of super are proxy objects providing access to the methods in the MRO."


Jean-Michel
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to