繁体   English   中英

Function 调用函数

[英]Function calling functions

创建一个 function,它将任意数量的函数作为位置 arguments。 function 一一返回函数参数的执行。 请参阅示例以获得更好的理解(我们称之为 function)。

my_func = chain(lambda x: x + 2, lambda x: (x/4, x//4))
my_func(37)

它应该返回

(9.75, 9)

我试图做类似的事情:

def chain(x,*args):
    for arg in args:
        arg(x)

它不工作。 无法理解如何将非 function 参数用于此 function(在上面的示例 37 中)。

您是否正在寻找这样的东西:

def chain(*funcs):
    def chained(*args, **kwargs):
        return tuple(func(*args, **kwargs) for func in funcs)
    return chained

my_func = chain(lambda x: x + 2, lambda x: (x/4, x//4))
print(my_func(37))

Output:

(39, (9.25, 9))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM