[Python-Dev] PEP 318: Let's propose some useful built-in decorators (original) (raw)
Kevin Jacobs jacobs at theopalgroup.com
Fri Apr 2 15:15:20 EST 2004
- Previous message: [Python-Dev] PEP 318: Let's propose some useful built-in decorators
- Next message: [Python-Dev] PEP 318: Let's propose some useful built-in decorators
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Guido van Rossum wrote:
class funcattrs(objects):
def init(self, **kwds): self.attrs = kwds def call(self, funcobj): funcobj.dict.update(self.attrs)
Did you leave out the 'return funcobj' from the end of call? I thought that decorators were supposed to be inherently cooperative, and should return their modified funcobj, or a new func-like-obj. Sorry, you're right. (I've been thinking of interpreting a None result as "keep the input object" but the code generation would be too messy.
Cool. And now that I have my pedantic hat on, I may as well go all out. First, why call it func_attrs, when staticmethod and classmethod are underscoreless? Second, I know it is effectively the same, but shouldn't the .update line use vars(funcobj) instead of funcobj.dict? This is something that I am asked (often!) by my Python students. I use vars(obj) since it looks less magical.
-Kevin
- Previous message: [Python-Dev] PEP 318: Let's propose some useful built-in decorators
- Next message: [Python-Dev] PEP 318: Let's propose some useful built-in decorators
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]