[Python-ideas] A decorator to call super()
Joao S. O. Bueno
jsbueno at python.org.br
Tue Jan 31 10:57:39 EST 2017
More information about the Python-ideas mailing list
Tue Jan 31 10:57:39 EST 2017
- Previous message (by thread): [Python-ideas] A decorator to call super()
- Next message (by thread): [Python-ideas] A decorator to call super()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 31 January 2017 at 13:05, Thomas Kluyver <thomas at kluyver.me.uk> wrote: > On Tue, Jan 31, 2017, at 02:32 PM, Stephen J. Turnbull wrote: >> Personally, I don't think the explicit invocation is such a big deal >> to need a standardized decorator in the stdlib. > > +1. It's one line either way, and the explicit call to super() seems > clearer for people reading the code. I agree that the explict call to super() is clear and concise enough - moreover you are in full control of where to call, plus what parameters to forward. BUT - no, it is _not_ an easy decorator to craft - and I don't think it can be made to work cleanly without depending on implementation details of cPython. I've been hitting the Python shell for 40+ minutes now, trying to get, in pure Python, a way for a method decorator to get a reference to the superclass in the way "super" does - it is not feasible without a metaclass. (I mean...it may be feasable, but one will be tough - one does not have a reference to the superclasses inside a class body as it is being parsed - I tried to trick the Python runtime into creating an empty __class__ cell in the decorator body for a decorator defined outside the class, and have that filled in, but it does not work as well). Still, such @pre_super and @post_super decorators might be something cute to have around - and can't be made in a trivial way either on the code base or on a pure-python 3rd party package. I would say I am +0 to "+0.5" on them. js -><-
- Previous message (by thread): [Python-ideas] A decorator to call super()
- Next message (by thread): [Python-ideas] A decorator to call super()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-ideas mailing list