Is there any syntax for using a decorator on a lambda function in Python? Example:
def simpledecorator(f):
def new_f():
print "Using a decorator: "
f()
return new_f
@simpledecorator
def hello():
print "Hello world!"
Results in this output:
>>> hello()
Using a simple decorator:
Hello world!
Yet when I try the same with a lambda:
@anotherdecorator
f = lambda x: x * 2
I get this:
File "<stdin", line 2
f = lambda x: x * 2
^
SyntaxError: invalid syntax
I feel like this might be a good way to make lambdas more versatile by allowing statements to be "injected" into them. But if there exists such a feature, I don't know what the syntax is.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…