我试图制作装饰器的方法,该方法可以计算python中另一个功能的运行时间
def timer(func):
def smallfunctimer(*args,**kwargs):
res=func(*args,**kwargs)
tm=timeit.Timer(lambda:res)
print("Function time: ", tm)
return smallfunctimer
@timer
def deposit(self,amount):
self.balance+=amount
self.queue.append(BankTransaction(amount))
但是当我称其为
时ba=BankAccount(1,100)
ba.deposit(10000000)
我明白了:
Function time: <timeit.Timer object at 0x0281D370>
我如何在几秒钟内获得运行时间?
您创建了一个timeit.Timer()
实例;您需要在该实例上调用一种方法才能实际运行代码:
print("Function time: ", tm.timeit(1000))
会给您运行功能1000次的时间。