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)
мог бы это сделать.
Как декораторы / операции декорирования называются математически?