我一直在深入玩弄,试图在我去看别人的代码之前编写我自己版本的memoizing装饰器。诚实地说,这更多是一种有趣的运动。然而,在玩耍的过程中,我发现我不能用装饰者做我想做的事情。在装饰器中命名关键字?
def addValue(func, val):
def add(x):
return func(x) + val
return add
@addValue(val=4)
def computeSomething(x):
#function gets defined
如果我想这样做,我必须这样做:
def addTwo(func):
return addValue(func, 2)
@addTwo
def computeSomething(x):
#function gets defined
为什么我不能使用关键参数以这种方式装饰?我做错了什么,你能告诉我该怎么做吗?
所以你说,在Python装饰者雇用急切的评价?真是无赖。 – wheaties 2010-06-13 15:03:29