如何将参数绑定到Python方法以存储一个用于以后调用的nullary仿函数?与C++类似boost::bind.
例如:
def add(x, y):
return x + y
add_5 = magic_function(add, 5)
assert add_5(3) == 8
Run Code Online (Sandbox Code Playgroud) 我刚开始学习Python,发现我可以将一个函数作为另一个函数的参数传递.现在如果我调用foo(bar())它将不会作为函数指针传递,而是使用函数的返回值.调用foo(bar)将传递函数,但这样我无法传递任何其他参数.如果我想传递一个调用的函数指针bar(42)怎么办?
我希望能够重复一个函数,无论我传递给它的是什么参数.
def repeat(function, times):
for calls in range(times):
function()
def foo(s):
print s
repeat(foo("test"), 4)
Run Code Online (Sandbox Code Playgroud)
在这种情况下,该函数foo("test")应该连续调用4次.有没有办法实现这一点,而不必通过"测试" repeat代替foo?