Я только начал изучать 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
?