我知道標題有點混亂。如何通過Python在其他函數中用參數調用一個函數?
因此,讓我藉此代碼爲例:
import timeit
def test1(x,y):
return x*y
def time_cost(func):
start = timeit.default_timer()
func()
stop = timeit.default_timer()
print(stop - start)
time_cost(test1)
我想給test1的兩大參數,x和y,以time_cost功能。
但我不知道該怎麼做。
我曾嘗試在此之前:
import timeit
def test1(x,y):
return x*y
def time_cost(func):
start = timeit.default_timer()
func
stop = timeit.default_timer()
print(stop - start)
time_cost(test1(1,2))
它可以運行,但結果是如此怪異,我認爲這是錯誤的。
那麼如何做到這一點?謝謝你們。
如果只接受一個參數('func'),則不能將'x'和'y'作爲'time_cost'的參數。如果你想'time_cost'接受其他參數,那麼你需要重寫它,以便它接受其他參數。 – BrenBarn
你會想要閱讀條款:閉包,裝飾,包裝。其基本思想是用一個新的函數替換(「包裝」)你的函數,這個函數可以做你想做的事情,並以你想要的方式處理參數。 –