super in Python 3 and variadic arguments

Ian Kelly ian.g.kelly at gmail.com
Thu Oct 10 22:33:37 EDT 2013


On Thu, Oct 10, 2013 at 8:11 PM, Steven D'Aprano
<steve+comp.lang.python at pearwood.info> wrote:
> One of the side-effects of this being a hack is that this doesn't work:
>
> class X(Y):
>     def method(self, arg):
>         f = super
>         f().method(arg)

Actually, that works just fine.  The compiler sees that super is
accessed within the method and creates the closure necessary to make
it work.  This does fail, however:

f = super
class X(Y):
    def method(self, arg):
        f().method(arg)



More information about the Python-list mailing list