用函数生成函数

时间:2013-12-29 15:06:05

标签: python function arguments argument-passing

是的,我想使用函数生成函数。

我已经找到了如何干净地获取function1以将参数传递给function2(在function1中定义)的方法。

def function1(*args):
    def function2(*args):
        print "I will do some stuff or whatever"

    return function2

new_function = function1()

new_function()
------->I will do some stuff or whatever

无论如何,我无法理解如何通过使用function1将新参数传递给function2,然后传递new_function。

简而言之,我希望能够做到这一点:

new_function = function1(arg1, arg2, arg3)

将arg1,arg2和arg3传递给new_function,但我无法正确使用该结构。

1 个答案:

答案 0 :(得分:1)

function1的参数指定不同的名称,然后在function2定义中使用它们:

def division_factory(quotient):
    def divide(divisor):
        return divmod(quotient, divisor)
    return divide

divide_81_by = division_factory(81)
divide_81_by(3) # (27, 0)