Can I undecorate a function?
Diez B. Roggisch
deets at nospam.web.de
Mon Jan 29 12:25:52 EST 2007
Matthew Wilson wrote:
> The decorator as_string returns the decorated function's value as
> string. In some instances I want to access just the function f,
> though, and catch the values before they've been decorated.
>
> Is this possible?
>
> def as_string(f):
> def anon(*args, **kwargs):
> y = f(*args, **kwargs)
> return str(y)
> return anon
>
> @as_string
> def f(x):
> return x * x
Untested:
def as_string(f):
def anon(*args, **kwargs):
y = f(*args, **kwargs)
return str(y)
andon.the_function = f
return anon
@as_string
def f(x):
return x * x
print f.the_function(10)
Diez
More information about the Python-list
mailing list