函数调用函数

Posted

技术标签:

【中文标题】函数调用函数【英文标题】:Function calling functions 【发布时间】:2022-01-12 15:54:58 【问题描述】:

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

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)

它不工作。无法理解如何将非函数参数传递给此函数(在上面的示例 37 中)。

【问题讨论】:

chain 不应该采用非函数参数 - 它返回一个函数。 这能回答你的问题吗? Composing functions in python 【参考方案1】:

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

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))

输出:

(39, (9.25, 9))

【讨论】:

以上是关于函数调用函数的主要内容,如果未能解决你的问题,请参考以下文章

php如何调用函数

static函数如何调用虚函数

js 函数如何去调用另一个函数中的函数?

C语言函数的运用及调用

JS 如何调用函数内部的函数(可以这样的理解:通过一个函数可以调用另一个函数的内部函数)

C语言中啥叫调用函数?为啥函数和函数之间是调用关系?