python中如果函数后面有多于一个括号是怎么回事?

时间:2016-05-14 15:29:43   收藏:0   阅读:2426

一般而言,调用一个函数是加一个括号。如果看见括号后还有一个括号,说明第一个函数返回了一个函数,如果后面还有括号,说明前面那个也返回了一个函数。以此类推。

比如fun()()

def fun():
    print("this is fun");
    def _fun():
        print("this is _fun");
    return _fun;

Your task is to write a higher order function for chaining together a list of unary functions. In other words, it should return a function that does a left fold on the given functions.
chained([a,b,c,d])(input)

Should yield the same result as

d(c(b(a(input))))

def fun81(functions):
    def f(x):
        for fun in functions:
            x = fun(x);
        return x;
    return f;

小结:python中也可以链式点用函数,只是函数需要在返回一个函数。

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!