我知道标题有点混乱。如何通过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
你会想要阅读条款:闭包,装饰,包装。其基本思想是用一个新的函数替换(“包装”)你的函数,这个函数可以做你想做的事情,并以你想要的方式处理参数。 –