我有一个从这样的函数中调用的函数:
def counter(number):
number = number + 1
return number
def iterator(iteration, function):
for i in range(iteration):
mfunction = function
output = mfunction()
return output
我想这样称呼它:
number = 0
number = iterator(5, partial(counter, number))
print number
这将返回 1,而它应该返回 5,因为 count 函数应该被调用了 5 次。
我意识到不知何故数据输出不正确,但我不知道如何从 for 循环中返回。
这个问题似乎是多余的,因为我可以轻松地做类似的事情:
for i in range(5):
number = counter(number)
但是后一个例子违背了这个程序的目的。
我认为问题在于我需要在 counter 函数中创建一个参数来解释迭代器函数。但我实际程序中的问题是我必须修改许多函数才能做到这一点,我试图避免这种情况。
我对函数内部的调用函数不太熟悉,任何帮助将不胜感激,