抱歉,我之前的回答有误导性。问题出在装饰器函数上,你需要将装饰器函数定义为一个装饰器,并将其应用到需要装饰的函数上。
这里是修复后的代码示例:
- import time
- def use_test2(a):
- def inuse_test2():
- print("usetest开始:")
- start = time.time()
- a()
- print("usetest结束")
- stop = time.time()
- print(f"花费{(stop-start):.2f}秒")
- return inuse_test2
- @use_test2
- def test2():
- print("Star Platinum, The World!")
- time.sleep(5)
- test2()
复制代码
运行这段代码,你会看到输出结果,并统计了函数执行的时间。
重要的一点是,装饰器函数 `use_test2()` 返回的是函数对象 `inuse_test2`,而不是调用该函数。这样,在使用装饰器时才能正确地将其应用到被装饰的函数上。
希望这次能帮到你!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。