class foo(object):
def __init__(self,f):
self.f = f
def __call__(self,args_list):
def wrapped_f(args_list):
return [self.f(*args) for args in args_list]
return wrapped_f(args_list)
if __name__=='__main__':
class abc(object):
@foo
def f(a,b,c):
return a+b+c
a = range(5)
b = range(5)
c = range(5)
data = list(zip(a,b,c))
print(abc.f(data))
这是我几年前写的。当你用它装饰任何功能f(X)
时,@foo
它会变成
f(list of Xs)
.
这个过程叫什么?它是什么?它的函数式编程名称是什么?
它不是咖喱。我知道简单map9(f,list of Xs)
可以做到。
什么是装饰器/装饰操作在数学上称为?