我刚开始学习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)
在这种情况下,该函数foo("test")
应该被连续调用 4 次。有没有办法做到这一点而不必通过“测试”来repeat
代替foo
?