[Python-3000] Fixing super anyone? (original) (raw)

Thomas Wouters thomas at python.org
Mon Apr 23 15:07:05 CEST 2007


On 4/23/07, Michele Cella <michele.cella at gmail.com> wrote:

Calling a method:

self.method(arg) Calling a super method: super self.method(arg) That's consistent with: * the way you call any other method * the way you use any other keyword

But how would it work? I assume you want 'super' to take a single expression, and be an expression itself. How does it know which instance you want to 'super'? Does it specialcase the variable named 'self'? Threat 'everything up to the first dot' as 'the instance'? Specialcase the first argument to the method? (That's what 'super.foo()' would do.) How would you do things like:

call the supermethod 'register' with the nonsuper 'callback':

super.register(self.callback)

call the nonsuper 'register' with the supermethod 'callback'

self.register(super.callback)

call the 'frominstance' method of the 'innerclass' attribute on the

superclass super.innerclass.frominstance(self)

-- Thomas Wouters <thomas at python.org>

Hi! I'm a .signature virus! copy me into your .signature file to help me spread! -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/python-3000/attachments/20070423/e1da0542/attachment.html



More information about the Python-3000 mailing list