Steve Holden wrote:

> You have several times mentioned the possibility of a decorator
taking
> more than one argument, but in my understanding of decorators this
just
> wouldn't make sense. A decorator should (shouldn't it) take precisely

> one argument (a function or a method) and return precisely one value
(a
> decorated function or method).

Yes. I think this sould be fixed into the minds of the people exacly
this way You state it:

When writing

@decorator(x,y)
def f():
    ....

not the so called "decorator" function but decorator(x,y) is the
decorating function and decorator(x,y) is nothing but a callable object
that takes f as parameter. A little correcture of Your statement: it is
NOT nessacary that a function or method will be returned from a
decorator.

def decorator(x,y):
    def inner(func):
        return x+y
    return inner

@decorator(1,2)
def f():pass

>>> f
3

This is perfectly valid allthough not very usefull ;)

Regards,
Kay

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to