Creating new types and invoking super
Arnaud Delobelle
arnodel at googlemail.com
Wed Jan 23 16:56:27 EST 2008
On Jan 23, 8:55 pm, "Guilherme Polo" <ggp... at gmail.com> wrote:
> Hello,
Hi
[...]
> First I tried this:
>
> def init(func):
> def _init(inst):
> super(inst.__class__, inst).__init__()
> func(inst)
>
> return _init
>
> class A(object):
> @init
> def __init__(self): pass
This kind of approach can't work, you need to call super(A, obj).
super(type(obj), obj) is pointless, it defeats the whole purpose of
the mro!
The only way I can think of would be to create a metaclass, but I
don't think it's worth it. super(A, obj).__init__() isn't that bad!
--
Arnaud
More information about the Python-list
mailing list