[Python-ideas] A decorator to call super()
Roberto Martínez
robertomartinezp at gmail.com
Tue Jan 31 09:20:02 EST 2017
I think both are useful. I would make this configurable with a flag:
class MyOverridedClass(MyBaseClass):
@extendsuper(after=True)
def mymethod(self, foo):
...
Or maybe a pair of decorator is a better option: @pre_super and @post_super
El mar., 31 ene. 2017 a las 13:07, Sven R. Kunze (<srkunze at mail.de>)
escribió:
> Hi Roberto,
>
>
> On 31.01.2017 08:13, Roberto Martínez wrote:
>
> class MyOverridedClass(MyBaseClass):
> def mymethod(self, foo, **kwargs):
> # Do something
> return super().mymethod(**kwargs)
>
> What about creating a decorator to call super() after/before the overrided
> method? Something like that:
>
> class MyOverridedClass(MyBaseClass):
> @extendsuper
> def mymethod(self, foo):
> # Do something
>
>
> I could find this useful. There's just on bikeshedding issue:
>
> When should "super().mymethod(**kwargs)" be called: *before*, *after* or
> inbetween my specialized code?
>
> Depending on the baseclass either of those three is necessary. As far as I
> can tell, we encounter all of them regularly.
>
> Best,
> Sven
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20170131/2142003f/attachment-0001.html>
More information about the Python-ideas
mailing list