Ви не можете отримати цей точний синтаксис, хоча ви можете
отримати щось на зразок F (x) (foo, bar, baz)
. Ось
простий приклад:
class F(object):
def __init__(self, arg):
self.arg = arg
def __call__(self, *funcs):
arg = self.arg
for f in funcs:
arg = f(arg)
return arg
def a(x):
return x+2
def b(x):
return x**2
def c(x):
return 3*x
>>> F(2)(a, b, c)
48
>>> F(2)(c, b, a)
38
Це дещо відрізняється від відповіді Блендера, оскільки зберігає
аргумент, який пізніше можна використовувати з різними
функціями.
Це схоже на протилежність застосунку звичайної функції: замість
того, щоб вказати функцію вперед і залишити деякі аргументи, що
будуть вказані пізніше, ви вкажете аргумент і залиште функції, які
потрібно вказати пізніше. Це цікава іграшка, але важко думати, чому
ти дійсно хочеш цього.