我想把一个Python函数传递给另一个函数,它的一些参数提前“填充”了。在
这就是我所做的简化:
def add(x, y):
return x + y
def increment_factory(i): # create a function that increments by i
return (lambda y: add(i, y))
inc2 = increment_factory(2)
print inc2(3) # prints 5
我不想使用某种形式的args
的传递,然后用*args
来分解它,因为我传递inc2
的函数不知道要将args
传递给它。在
这对于一个团队项目来说有点太聪明了。。。有没有一种更直接或者更像Python的方法来完成这个任务?在
谢谢!在
这被称为currying,或部分应用。您可以使用内置的functools.partial()。下面这样的方法可以满足您的需要。在
相关问题 更多 >
编程相关推荐