我有一個函數內從這樣調用函數:的Python:從一個函數輸出數據的步驟調用一個函數
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,因爲計數函數應該被調用5次。
我意識到,不知何故數據輸出不正確,但我不知道如何退出for循環。
這個問題看起來是多餘的,因爲我可以很容易地做一些事情,如:
for i in range(5):
number = counter(number)
但後者的例子擊敗這個計劃的目的。
我認爲問題是我需要在計數器函數中創建一個參數來說明迭代器函數。但在我的實際程序中的問題是,我將不得不修改許多函數來做到這一點,我試圖避免這一點。
我不是那麼熟悉調用的函數和任何幫助裏面的功能將不勝感激,
'數=數目+不1'只改變參數'number',而不是'函數外number'。 – falsetru
'partial(counter,number)'相當於'partial(counter,0)'。所以代碼調用'counter(0)'5次。 – falsetru
是的,我只是不知道如何獲得該號碼 –