【发布时间】:2016-10-19 00:59:51
【问题描述】:
我对python编程比较陌生,我在codewarriors中看到了这段代码sn-p。 谁能解释一下这段代码...
def example(functions):
#my_code
return None
example([a,b,c,d])(input) #What kind of call is this?
这里 a,b,c,d 是定义的函数。
我需要定义example 函数以返回与d(c(b(a(input)))) 的结果相同的结果
我只是熟悉example([1,2,3])(1) 这里传递的值是一个列表。但是如果它们是函数呢?
还请评论任何好的资源以清楚地理解它。
【问题讨论】:
-
您显示的代码将引发错误(“None value is not callable”)。通常您通过
f(parameters)调用函数。另请注意,在 python 中,注释由#开始。在 python 中,函数只是普通的对象,因此您可以将它们分配给变量,将它们放入列表中,将它们用作函数参数,......所以如下定义:def call(f, argument): return f(argument)。 -
我已经编辑了代码。很抱歉。
-
函数和其他一切一样都是对象。它们可以传递给函数并由函数返回。例如,
sorted函数接受一个有效的key参数:sorted([1,2,3,4,5,6], key=lambda x: x%2)将返回[2,4,6,1,3,5]。